How to extract AVCHD or other non-static metadata with frame numbers?

Started by BentonFiddling, May 06, 2021, 01:09:43 PM

Previous topic - Next topic

BentonFiddling

Reference file: https://www.imaging-resource.com/PRODS/NEX5/FULLRES/yvid_rollingshutter_AVCHD_00005.MTS

I was wondering how I can export the metadata from this file with frame numbers. I tried the -ee and -G3 options. The output is certainly promising, but it would be great to have a frame number because I'd like to use the output to overlay some processing as the metadata changes throughout the video, for example to compensate exposure changes. I tried with -p "$framenumber" as was mentioned in one thread on here but it didn't work unfortunately. I also tried -p "$sampletime". In any case it would be great if there was a way without using -p because I'd like a commandline that doesn't need to be adapted for each input format, since I'd have to specify each possible key/tag that could occur if I used -p, unless I'm misunderstanding how it works.

On another note, on the above video I get a reading of an exposure time of 1/852 seconds which seems like a rather odd number. Comparing this output to DVMP Pro, there I get 1/1000s. Might there be a bug in EXIFTool? It doesn't even seem like a 1/3rd or 1/4th stop increment, just a random value, constant over many frames.

Phil Harvey

I'll have to look at the frame number idea in more detail when I get a chance.

The ExposureTime may definitely be wrong because there is some unpublished constant used to convert the stored value to a time.  You can see the stored value in the -v output.  What I would really need to improve this is a full table of stored value vs camera shutter speed for the full range of speeds -- then I could fit the best constant.  The values will never be exact because they aren't stored at high precision, but I could perhaps find a constant that on average works better.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).