Fastest way to add -movflags +faststart to an MP4 using FFMPEG, leaving everything else as-is
14,281
As simple as:
ffmpeg -i in.mp4 -c copy -map 0 -movflags +faststart out.mp4
Or if you can compile FFmpeg from source, make the tool qt-faststart in the tools/ directory and run it:
qt-faststart in.mp4 out.mp4
You can also use mp4box, which lets you move the MOOV atom to the start via this command:
mp4box -inter 0 in.mp4 -out out.mp4
Or if you want to fully optimize for streaming by also interleaving the audio/video data so that the file can be easily streamed in realtime:
mp4box -inter 500 in.mp4 -out out.mp4
Related videos on Youtube
Author by
Jonas Kaufmann
Updated on June 17, 2022Comments
-
Jonas Kaufmann about 2 years
I want to add
-movflags +faststart
to an mp4 file. Basically that is all I want to do, nothing else should be changed. I am using ffmpeg.What's the fastest way to do this? Do I have to re-encode the whole video? Or is there a better/easier way?
-
Mikael Finstad about 4 yearsYou may want to add
-map_metadata 0
too in order to preserve any metadata -
Dmitry Minkovsky about 4 yearsIs there any way to "fully optimize" with ffmpeg instead of mp4box? I would be doing a transcode with ffmpeg, so it would be nice not to run a separate command.
-
Dmitry Minkovsky about 4 years@Gyan I'm sorry, I meant is there also a way to interleave with ffmpeg like with mp4box. Or, are you saying
faststart
will interleave the results? Not finding anything on Google -
Gyan about 4 yearsThe MP4 muxer in ffmpeg does not support custom interleaving delta. faststart only relates to where the metadata is placed.
-
Dmitry Minkovsky over 3 years@Gyan just seeing your reply now. Thanks a lot.
-
Jonathan Hartley over 2 yearsThe ffmpeg command above (with either "+faststart" or just "faststart") gives me "moov atom not found" (the same error I'm trying to fix) I'm running on an .m4v file.