When I run my 24fps Quicktime mov files through an FFmpeg transcode they are coming out with a Movie Header timescale of 1000, when the source file has a timescale of 24000. This low timescale value is causing issues in some professional software tools when seeking the file.
In my case the source file is a Quicktime with 1 x video track (DNx115) and 1 x data track (Timecode). I'm transcoding it to DNx36. I can force the video timescale to 24000 by adding "-video_track_timescale 24000", but this does not affect anything other than the video track. The command is as follows: ffmpeg -i input.mov -c:v dnxhd -b:v 36M -pix_fmt yuv422p -video_track_timescale 24000 output.mov Uncut console output: ffmpeg version N-90214-gdd3f1e3a11-tessus Copyright (c) 2000-2018 the FFmpeg developers built with Apple LLVM version 9.0.0 (clang-900.0.39.2) configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay libavutil 56. 8.100 / 56. 8.100 libavcodec 58. 13.102 / 58. 13.102 libavformat 58. 10.100 / 58. 10.100 libavdevice 58. 2.100 / 58. 2.100 libavfilter 7. 12.100 / 7. 12.100 libswscale 5. 0.102 / 5. 0.102 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2018-03-06T10:45:16.000000Z timecode : 01:14:25:22 Duration: 00:00:30.00, start: 0.000000, bitrate: 116392 kb/s Stream #0:0(eng): Video: dnxhd (DNXHD) (AVdn / 0x6E645641), yuv422p(tv, bt709), 1920x1080, 116391 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24k tbn, 24k tbc (default) Metadata: creation_time : 2018-03-06T10:45:16.000000Z handler_name : Apple Alias Data Handler encoder : Avid DNxHD Codec Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default) Metadata: creation_time : 2018-03-06T10:45:20.000000Z handler_name : Apple Alias Data Handler timecode : 01:14:25:22 Stream mapping: Stream #0:0 -> #0:0 (dnxhd (native) -> dnxhd (native)) Press [q] to stop, [?] for help Output #0, mov, to 'output.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt timecode : 01:14:25:22 encoder : Lavf58.10.100 Stream #0:0(eng): Video: dnxhd (DNXHD) (AVdn / 0x6E645641), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-1024, 36000 kb/s, 0.04 fps, 24k tbn, 24 tbc (default) Metadata: creation_time : 2018-03-06T10:45:16.000000Z handler_name : Apple Alias Data Handler encoder : Lavc58.13.102 dnxhd frame= 720 fps=151 q=4.0 Lsize= 132482kB time=00:00:29.95 bitrate=36226.7kbits/s speed=6.28x I have checked the timescale value in Atom Inspector and can clearly see that the mvhd (Movie Header) is changed to 1000 in the output.mov when the input.mov was set to 24000. 1000 is too low for accurate seeking. Using Atom Inspector to manually change this header timescale to 24000 and alter the duration fields to what they should be based on this timescale, the file works as expected. Is there anyway to set the Movie Header timescale value as an option in FFmpeg? _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".