[FFmpeg-user] Quicktime - Specify a Movie Header timescale of 24000
Carl Eugen Hoyos
ceffmpeg at gmail.com
Fri Mar 9 00:29:40 EET 2018
2018-03-08 22:20 GMT+01:00, Mark Burton <mwjburton at gmail.com>:
> On 8 Mar 2018, at 17:21, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
>> You need a compiler, make and git. Iirc, all three are installed if you
>> type something like "gcc -v" on the command line (but I assume they
>> are now installed by brew).
> Thank you very much! That filled in a few blanks for me and I was able to
> get it all working. So I built from the current git and tested the ffmpeg
> build. The timescale issue was still the same, with inaccurate seeking.
> Then in movenc.h I changed MOV_TIMESCALE from 1000 to 24000 and built ffmpeg
> again. This time the output .mov worked, with no seeking issues!
> Finally in movenc.h I changed MOV_TIMESCALE to 600 and built ffmpeg again.
> Again, the output .mov worked, with no seeking issues!
> I imagine some exhaustive testing is needed for other workflows, and I’m
> obviously not aware yet of why 1000 was chosen for ffmpeg (??), but based on
> the Quicktime specification documents and what the default timescale is set
> to there, it would seem that a switch from 1000 to 600 could be a very
> positive change.
> Please could you advise what I would need to do from here to move things
One possibility is that you run "git diff libavformat/movenc.h" to verify you
have only changed this one value (this assumes you have originally done
"git clone" and not "curl..."), then run "git commit libavformat/movenc.h" to
start the commit line editor, type "i" (I believe this will be necessary to get
into insert mode) and "lavf/movenc: Change MOV_TIMESCALE
to 600" followed by two (!) carriage returns and an explanation why this is
a good idea (because seeking works better in some other software), then
exit the editor (it's "ESC" ":wq" here) and get back to the shell. There, run
"git format-patch HEAD^" to get a file 0001-lavf-movenc... that you send
as attachment to the ffmpeg-devel mailing list and "git reset HEAD^" to
clean your local checkout.
More information about the ffmpeg-user