ArticleslgStudy

science

Progressive download

Progressive download is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Progressive download rather than just read about it. In short: 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.

Key takeaways

  • Progressive download belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Progressive download to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Progressive download from memory before moving on to harder problems.

Reference excerpt

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.

History 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.

HTTP progressive download versus streaming media 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.

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, 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

-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, from spending relative amount of computation in finding the moov atom hence increasing the playback performance on HTML video 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 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 Video streaming

References

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

Worked examples

Example 1 — a first encounter with Progressive download

Start with the simplest possible case. Write down what Progressive download claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Progressive download before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Progressive download ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Progressive download

In research
Progressive download appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Progressive download in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Progressive download is common in secondary-school and first-year university syllabi. It links to neighbouring topics Multimedia, so understanding it makes those chapters shorter.
In everyday life
Look for Progressive download outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Progressive download in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Progressive download means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Progressive download out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Progressive download in simple terms?

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.

Why does Progressive download matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Progressive download?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Progressive download.

Tags

  • Multimedia

Keep exploring