Hubbry Logo
search
logo

Progressive download

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Progressive download

A progressive download is the transfer of digital media files from a server to a client, typically using the HTTP protocol when initiated from a computer. The consumer may begin playback of the media before the download is complete. The key difference between streaming media and progressive download is in how the digital media data is received and stored by the end user device that is accessing the digital media.

A media player that is capable of progressive download playback relies on meta data located in the header of the file to be intact and a local buffer of the digital media file as it is downloaded from a web server. At the point in which a specified amount of data becomes available to the local playback device, the media will begin to play. This specified amount of buffer is embedded into the file by the producer of the content in the encoder settings and is reinforced by additional buffer settings imposed by the media player.

Initially the digital media file type known as JPEG was the first visual media to render a progressive visual display as the digital media was downloaded and actually referred to as a progressive download. The distinction between the technical behavior of progressive download as opposed to the common or commercial use of the term progressive download to describe that behavior was not documented and there is a good deal of question regarding the origin of the term versus the origin of the technical implementation. Apple in reference to their QuickTime media player employed the term Fast Start in 1997, to describe what was commercially referred to as progressive download playback of encoded digital media content.

The end user experience is similar to streaming media; however, the file is downloaded to a physical drive on the end user's device. It is typically stored in the temporary directory of the associated web browser if the medium was embedded in a web page or is diverted to a storage directory that is set in the preferences of the media player used for playback. The file will stutter or stop playback if the rate of playback exceeds the rate at which the file is downloaded. The file will begin to play again after further download.

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.

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.

The MP4 files consist of chunks of data, called atoms. These atoms stores information like subtitles, etc. The special atom, called moov atom is responsible for storing information regarding how to play the video like dimensions, frames per second and such which is important to begin playing a video on HTML video player. But atoms can appear in any order, so web servers like Nginx spends some CPU, memory and disk I/O to find the moov atom so that HTML video based clients can start playing the video. To optimize for HTTP Pseudo-streaming, it's important to move the moov atom to the beginning, so that web servers like Nginx optimize for faster pseudo-streaming resulting in playing of playbacks without having to wait for the entire file to arrive or to be scanned.

ffmpeg -i sample_input.mp4 -movflags faststart -acodec copy -vcodec copy sample_output.mp4

See all
User Avatar
No comments yet.