QuickTime:Full-frame-rate-playback-intent and Windows thumbnails

Started by wywh, December 15, 2024, 01:49:33 PM

Previous topic - Next topic

wywh

Windows users have complained that movies do not display thumbnails after iOS/iPadOS 18 update.

I compared recent old and new iPadOS movies shot with the same iPad and it seems that the culprit is this new tag:

[QuickTime]     Full-frame-rate-playback-intent : 1
I could remove or add that tag with the help of this example.config:

%Image::ExifTool::UserDefined = (
   'Image::ExifTool::QuickTime::Keys' => {
        'full-frame-rate-playback-intent' => { },
    },
);

exiftool -config example.config -m -P -overwrite_original '-QuickTime:Full-frame-rate-playback-intent=' movie.mov
exiftool -config example.config -m -P -overwrite_original '-QuickTime:Full-frame-rate-playback-intent=1' movie.mov
I tested this via Windows 10 VMware Fusion 13.6.1 virtual machine on macOS 15 Sequoia and at least there the thumbnails could be seen after that Full-frame-rate-playback-intent tag was removed in H.264 movies. My Windows 10 does not have H.265 add-ons so those movies remained without thumbnails. H.264 and H.265 samples with that tag and example.config attached. Can you verify that also H.265 behaves the same?

It also seems that Windows fails to display most metadata items in its Details panel if that tag is present (Media created, resolution, frame rate, audio details etc).

H.264
H.265
example.config   
- Matti

Phil Harvey

...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 ($).

wywh

Quote from: Phil Harvey on December 15, 2024, 04:47:25 PMThanks.  I'll add this tag to the official release.
Thanks. That tag seems to be:

"key that represents whether this movie should play at full frame rate.

Some apps play movies recorded at frame rates of 120fps or higher in slow motion. If your app records high-frame-rate movies, you can add this movie-level metadata to indicate whether the movie intends to play at the full frame rate (1) or at a slow motion rate (0). Apps that play movies may use this metadata, when present, to guide their behavior."

I have an old iPadOS 16.5.1 240 fps .mov. It did not have that 'Full-frame-rate-playback-intent' tag and macOS 15.2 Sequoia QuickTime Player plays it at 240 fps normal speed.

I added '-QuickTime:Full-frame-rate-playback-intent=0'. After that QuickTime Player plays middle of the movie in reduced fps slow-motion. With '-QuickTime:Full-frame-rate-playback-intent=1' it plays at 240 fps normal speed.

https://developer.apple.com/documentation/avfoundation/avmetadatakey/quicktimemetadatakeyfullframerateplaybackintent

wywh

Quote from: Phil Harvey on December 15, 2024, 04:47:25 PMI'll add this tag to the official release
Thanks, Keys:FullFrameRatePlaybackIntent tag was added to exiftool v13.09.

macOS 15 Sequoia QuickTime Player plays middle part of high frame rate movies (seems to be ≈85 fps or more) in slow-motion without that tag.

For example, losslessly convert an existing 25 fps .mov video to 250 fps (25/250=0.1) and delete audio:

ffmpeg -itsscale 0.1 -i input.mov -c copy -an output.mov
The whole movie plays at 250 fps after adding:

exiftool -m -P -overwrite_original '-Keys:FullFrameRatePlaybackIntent=1' output.mov
Back to the default slow-motion behavior:

exiftool -m -P -overwrite_original '-Keys:FullFrameRatePlaybackIntent=0' output.mov
Or just delete FullFrameRatePlaybackIntent tag:

exiftool -m -P -overwrite_original '-Keys:FullFrameRatePlaybackIntent=' output.mov
- Matti