sergeiventurinov / PRPROJ-READER

A simple python code to read what's inside a Premiere's project
Creative Commons Zero v1.0 Universal
14 stars 1 forks source link

Origin file has no clip Info #1

Open NOBB2333 opened 8 months ago

NOBB2333 commented 8 months ago

Dear blogger, hello: During the process of using your script, he parsed the original file information as an XML file. However, I searched through all the files and did not see the part of the file clip he mentioned. In theory, I should be able to see which file started using a few minutes and seconds, and how many frames were used, but I couldn't find anything only thing i can find is file path,

i wanner ask is this no info ,or encrypt with something?

image image

Runinho commented 5 months ago

From my understanding the information is contained in the prproj:

    <VideoClip ObjectID="120" ClassID="9308dbef-2440-4acb-9ab2-953b9a4e82ec" Version="11">
        <Clip Version="18">
            ...
                        <Source ObjectRef="59"/>
            <InPoint>0</InPoint>
            <OutPoint>23191660800000</OutPoint>
        </Clip>
    </VideoClip>

The referenced (ObjectRef="59") Source object contains a reference to the Media object (ObjectURef="151212b9-24e9-41ed-8a3c-78f7fe563c04"): E.g:

    <VideoMediaSource ObjectID="59" ClassID="e64ddf74-8fac-4682-8aa8-0e0ca2248949" Version="2">
        <MediaSource Version="4">
            <Content Version="10">
            </Content>
            <Media ObjectURef="151212b9-24e9-41ed-8a3c-78f7fe563c04"/>
        </MediaSource>
        <OriginalDuration>23191660800000</OriginalDuration>
        </VideoMediaSource>

With the Media object containing the file information:

    <Media ObjectUID="151212b9-24e9-41ed-8a3c-78f7fe563c04" ClassID="7a5c103e-f3ac-4391-b6b4-7cc3d2f9a7ff" Version="27">
                 ...
        <Title>some_video.mp4</Title>
        <ActualMediaFilePath>C:\some\path\some_video.mp4</ActualMediaFilePath>
    </Media>

How to convert the timestamps into seconds is not entirely clear to me but i think it is done here

dexforint commented 4 months ago

Hello! I make project about automatization video editing right now! And I need more understading about tags in prproj file. If you want to join - please contact with me (telegram: @dl_hello)

Runinho commented 4 months ago

Hey, Sounds like an interesting project and reminds me of the efforts by Devon Crawford: https://github.com/DevonCrawford/Video-Editing-Automation

And his YouTube video: https://youtu.be/0ZeO0IQaJ-A?si=uvJHaq5kIl3SJaJ0

I would like the discussion to be visible in the open web and not hidden in some telegram chat. Do you have some code to share or same specific questions?

Cheers, Runinho

sergeiventurinov commented 4 months ago

Hi! Frame information is actually stored in frame count format, amount of frames, independently of the frame rate being used. Later there is a mathematical process to convert it to the desired format, as shown in the code.

Runinho commented 4 months ago

Thanks @sergeiventurinov !

Can you point to the part of the code that does that math? Thanks in advance!

Runinho commented 4 months ago

Is this the correct location?

https://github.com/sergeiventurinov/PRPROJ-READER/blob/main/PRPROJ-READER.py#L747

Where does the constants come from? Have you found some documentation or did you guess?

Thanks, Runinho

sergeiventurinov commented 4 months ago

that and also line 739

It's been a long time since I've calculated myself. Sorry, I'm an amateur.

I deduced it practically. I think this factors are multiples both of 24 (framerate) and 44100 (audio rate) in a way the Premiere programming needed to use only one factor for both calculations, but i dont know. They work, anyway. And from there, they seem to re-factor other rates.

I'd love to read the original documentation.

Runinho commented 4 months ago

Hi,

I have found your code very helpful! No need to excuse yourself 😀

Just wanted to know if you found some documentation. But the values also worked great for me :)

Thanks and have a great day!

sergeiventurinov commented 4 months ago

Hello! I make project about automatization video editing right now! And I need more understading about tags in prproj file. If you want to join - please contact with me (telegram: @dl_hello)

You can check this documentation i've made from digging into the prproj files: https://github.com/sergeiventurinov/PRPROJ-READER/blob/main/PRPROJ%20STRUCTURE.pdf