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
Share:
14,281

Related videos on Youtube

Jonas Kaufmann
Author by

Jonas Kaufmann

Updated on June 17, 2022

Comments

  • Jonas Kaufmann
    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
    Mikael Finstad about 4 years
    You may want to add -map_metadata 0 too in order to preserve any metadata
  • Dmitry Minkovsky
    Dmitry Minkovsky about 4 years
    Is 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
    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
    Gyan about 4 years
    The MP4 muxer in ffmpeg does not support custom interleaving delta. faststart only relates to where the metadata is placed.
  • Dmitry Minkovsky
    Dmitry Minkovsky over 3 years
    @Gyan just seeing your reply now. Thanks a lot.
  • Jonathan Hartley
    Jonathan Hartley over 2 years
    The 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.