Jump to content

Question about frame rate embedded in DPX files


Dirk DeJonghe

Recommended Posts

We work on a project where some sequences were filmed at 18 fps, others at 12 fps and others at 6 fps. The customer wants this shooting framerate embedded in the metadata of the files. On our Baselight, the software embeds the project framerate, this could be 18 or anything else, but the same for the whole project; I think it is the projection framerate that should be embedded (if any) and not the shooting framerate. This is for old archive material, the purpose of the job is to have long-term storage digital masters.

How would a projectionist (who is not the author of the film) know where to switch to 6 fps if he was even able to do this, Wasn't the intention of the author to have a faster pace when he shoots at 6fps?

 

 

Link to comment
Share on other sites

  • Premium Member

Well, it might be the intention of the author to have more staccato movement by shooting at 6fps, too.

 

I can't imagine variable frame rate will be very well supported by anything, but all I can do is imagine. You'll have to try it.

Link to comment
Share on other sites

Phil,

 

Is there any software that allows easy editing of this metadata parameter in DPX? We could create a project for 6fps, another one for 12 fps etc. Then reconcile the frames after renumbering etc. There must be an easier way.

Link to comment
Share on other sites

  • Premium Member

There are three fixed headers in all DPX files, one of which is called "file header" and is 768 bytes long, the second of which is called "image header" and is 640 bytes long, and the third of which is called "orientation header" and is 256 bytes long.

 

The frame rate is stored in the fourth header, which is called "film information". Assuming your files use the "film information" header as opposed to the following "television information" header to store the frame rate, the frame rate information is held 60 bytes into the header, and thus 1724 bytes into the file itself, in a four-byte single precision floating point field. All that's required is to write a single-precision float 1724 bytes into the file. I may be a few bytes out. You'd want to test it in a hex editor.

 

Similar things apply to the "television information" header.

 

Interestingly, the immediately preceding value is called "HeldCount" and describes how many frames the frame in the file is to be held for, which could theoretically be used to create variable frame rate effects, but I suspect it is very poorly supported in most software.

 

As to actually how to write said script, it depends what sort of system you're on. On Linux, many people would do it in Python or something like that.

 

P

Link to comment
Share on other sites

How about inserting slate frames before each shot that describe the frame rate? I don't think the .dpx system is designed for variable frame rates in a single folder anyway. I wouldn't count on some future generation checking the metadata...

Link to comment
Share on other sites

  • Premium Member

I have a feeling that certain aspects of the DPX system, such as it is, were not really designed at all!

 

The spec tells us to store frame rates in each frame, leaving open the possibility that they, and almost any other aspect of the file, down to resolution, colorimetry, etc. may change mid-sequence, but I'm not sure it talks about how these mid-sequence changes should be handled. Is a DPX sequence defined as a group of files in which nothing changes but the picture data and timecode? If so, what is the purpose of the hold duration count?

 

It is a puzzlement.

  • Upvote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...