MPEG 4 is the most dominant video format for the web, which is supported on a variety of platforms and devices. And FFmpeg is the most popular software for encoding videos. While there are tons of articles about encoding MPEG 4 videos with FFmpeg, most of them fail to warn you about something: most video players will not start the playback until the whole video is downloaded. This could be annoying, especially for large videos.
Here is a video encoded with the following command and played using the HTML5 video tag:
ffmpeg.exe -i big_buck_bunny_trailer-1080p.ogg -c:v libx264 -profile:v baseline -preset slow -b:v 800k -c:a libvo_aacenc -b:a 128k -s 512x288 big_buck_bunny_trailer-288p.mp4
HTML5 Video 1
To create a "fast-start" enabled video using FFMpeg, specify -movflags faststart
parameter in the command 2:
ffmpeg.exe -i big_buck_bunny_trailer-1080p.ogg -c:v libx264 -profile:v baseline -preset slow -b:v 800k -c:a libvo_aacenc -b:a 128k -s 512x288 -movflags faststart big_buck_bunny_trailer-288p-faststart.mp4
The following videos should start quickly, long before the video is downloaded completely:
HTML5 Video
Footnotes
- If the video starts immediately then either the video is already in your browser cache or you have a very fast internet connection.
- The older way of enabling fast start plus the gory details are discussed here.