Progressive download
A progressive download is the transfer of
A
History
Initially the digital media file type known as
HTTP progressive download versus streaming media
The end user experience is similar to
This fast start playback is the result of moving the meta data from the end of the digital media file to the front, this move of the meta data gave the media player all the information it required to begin playback as the file was still being downloaded. Prior to that change, the meta data summary was located at the end of a media file and the entire file would need to be downloaded in order for the meta data to be read and the player begin playback.[2]
HTTP Pseudo-streaming (or progressive download), similar to streaming media or HTTP Live Streaming, also supports adaptive bitrate streaming. The disadvantage of HTTP Pseudo-streaming over streaming media is reduced security, since HTTP is easier to sniff compared to RTMP, along with long loading times when seeking larger videos.[3]
Optimization for HTTP Pseudo-streaming
The
ffmpeg -i sample_input.mp4 -movflags faststart -acodec copy -vcodec copy sample_output.mp4
-movflags faststart
does the optimization by moving the index (moov atom) to the beginning of the file.[6]-acodec copy
extracts the audio from the input file unaltered.-vcodec copy
extracts the video from the input file unaltered.
By doing this optimization, we effectively prevent web servers, like
Seeking
Initially, the file is played from the beginning. A user may wish to point to a part of the file which haven't been downloaded yet. This capability is called seeking[7] and it makes possible to download and start playing any part of the media file. That is often referred to as pseudo-streaming.
For
For other types of media files such as
Some servers support seeking via additional modules only, they are specified below. Seeking parameter names are written in italic.
Server | Flash seeking | MP4 seeking |
---|---|---|
Apache HTTP Server | mod_h264 start mod_flvx start |
mod_h264 starttime |
lighttpd | start | mod_h264 starttime |
Nginx | http_flv_module start | http_mp4_module start |
Nimble Streamer | start | start |
See also
- Online video platform
- Video streaming
References
- ^
QuickTime Streaming Server 4.1 (PDF), archived from the original (PDF) on 2011-07-06, retrieved 2010-09-21,
Two methods are commonly used to deliver media over the web for real-time viewing: progressive download (Fast Start) and real-time streaming.
- ^ Understanding the MPEG-4 movie atom, retrieved 2015-07-17
- ^ Peter Luk. "Video Delivery: HTTP Pseudo-Streaming".
- ^ a b Billy Hoffman (2016). "Optimizing MP4 Video for faster streaming".
- ^ a b "Module ngx_http_mp4_module".
- ^ "FFmpeg Formats Documentation".
- ^ Pseudo Streaming in Flash, retrieved 2015-07-17
External links
- Streaming vs Progressive Download, archived from the original on 2010-08-18
- Web Server vs. Streaming Server, Microsoft, retrieved 2010-09-21
- Flash Video: Progressive Download, retrieved 2010-09-21
- Video Streaming Vs Progressive Download, archived from the original on 2015-05-29, retrieved 2015-05-29