HOME

TheInfoList



OR:

A progressive download is the transfer of
digital media Digital media is any communication media that operate in conjunction with various encoded machine-readable data formats. Digital media can be created, viewed, distributed, modified, listened to, and preserved on a digital electronics device. ' ...
files from a
server Server may refer to: Computing *Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients Role * Waiting staff, those who work at a restaurant or a bar attending customers and su ...
to a
client Client(s) or The Client may refer to: * Client (business) * Client (computing), hardware or software that accesses a remote service on another computer * Customer or client, a recipient of goods or services in return for monetary or other valuable ...
, typically using the
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
when initiated from a computer. The consumer may begin playback of the media before the download is complete. The key difference between
streaming media Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
and progressive download is in how the digital media data is received and stored by the
end user In product development, an end user (sometimes end-user) is a person who ultimately uses or is intended to ultimately use a product. The end user stands in contrast to users who support or maintain the product, such as sysops, system administrat ...
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 Buffer may refer to: Science * Buffer gas, an inert or nonflammable gas * Buffer solution, a solution used to prevent changes in pH * Buffering agent, the weak acid or base in a buffer solution * Lysis buffer, in cell biology * Metal ion 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.


History

Initially the digital media file type known as
JPEG JPEG ( ) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and imag ...
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 In computer networks, download means to ''receive'' data from a remote system, typically a server such as a web server, an FTP server, an email server, or other similar system. This contrasts with uploading, where data is ''sent to'' a remote s ...
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 An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple fruit tree, trees are agriculture, cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, wh ...
in reference to their
QuickTime QuickTime is an extensible multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. Created in 1991, the latest Mac version, QuickTime X, is avai ...
media player employed the term ''Fast Start'' in 1997, to describe what was commercially referred to as progressive download playback of
encoded In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communication ...
digital media Digital media is any communication media that operate in conjunction with various encoded machine-readable data formats. Digital media can be created, viewed, distributed, modified, listened to, and preserved on a digital electronics device. ' ...
content.


HTTP progressive download versus streaming media

The end user experience is similar to
streaming media Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
, however the file is downloaded to a physical drive on the end user's device; the file is typically stored in the
temporary directory In computing, a temporary folder or temporary directory is a directory used to hold temporary files. Many operating systems and some software automatically delete the contents of this directory at bootup or at regular intervals, leaving the direc ...
of the associated web browser if the medium was embedded into 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 Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
or
HTTP Live Streaming HTTP Live Streaming (also known as HLS) is an HTTP-based adaptive bitrate streaming communications protocol developed by Apple Inc. and released in 2009. Support for the protocol is widespread in media players, web browsers, mobile devices, and st ...
, also supports
adaptive bitrate streaming Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. While in the past most video or audio streaming technologies utilized streaming protocols such as RTP with RTSP. Today's adaptive streaming technol ...
. The disadvantage of HTTP Pseudo-streaming over
streaming media Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
is reduced security, since HTTP is easier to
sniff Sniff may refer to: * Sniff (Moomin character), a character in the Moomin stories * ''Sniff'' (film), a 2017 Indian Bollywood film * Sniff, the action of inhaling * Sniff, odor sampling, see olfaction * Sniff (domino game) Muggins, sometimes ...
compared to RTMP, along with long loading times when seeking larger videos.


Optimization for HTTP Pseudo-streaming

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 In physics and mathematics, the dimension of a mathematical space (or object) is informally defined as the minimum number of coordinates needed to specify any point within it. Thus, a line has a dimension of one (1D) because only one coordina ...
,
frames per second A frame is often a structural system that supports other components of a physical construction and/or steel frame that limits the construction's extent. Frame and FRAME may also refer to: Physical objects In building construction *Framing (con ...
and such which is important to begin playing a video on
HTML5 Video The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previou ...
player. But atoms can appear in any order, so web servers like
Nginx Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
spends some CPU, memory and disk I/O to find the ''moov atom'' so that
HTML5 Video The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previou ...
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 Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
optimize for faster pseudo-streaming resulting in playing of playbacks without having to wait for the entire file to be arrived or scanned. 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. * -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
nginx Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
, from spending relative amount of computation in finding the moov atom hence increasing the playback performance on
HTML5 Video The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previou ...
based client.


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 and it makes possible to download and start playing any part of the media file. That is often referred to as pseudo-streaming. For
Flash video Flash Video is a container file format used to deliver digital video content (e.g., TV shows, movies, etc.) over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There ar ...
seeking requires a list of seek points in the media file metadata. These points are offsets in the video (both in seconds and bytes) at which a new key frame starts. A web server or a media server which handles the download, must support seek points in query string of requests for downloading data. For other types of media files such as MP4 or MKV, web servers must be capable of handling a special offset parameter. The offset parameter name differs for various servers so it must be specified in player settings. Some servers support seeking via additional modules only, they are specified below. Seeking parameter names are written in ''italic''.


See also

*
Online video platform An online video platform (OVP), provided by a video hosting service, enables users to upload, convert, store and play back video content on the Internet, often via a structured, large-scale system that may generate revenue. Users will generally u ...
*
Video streaming Video on demand (VOD) is a media distribution system that allows users to access videos without a traditional video playback device and the constraints of a typical static broadcasting schedule. In the 20th century, broadcasting in the form of o ...


References


External links

* * * * {{DEFAULTSORT:Progressive Download Multimedia