Progressive Download

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Ein Progressive Download (deutsch: progressives Herunterladen) ist die Übertragung digitaler Mediendateien von einem Server zu einem Client. Typischerweise wird das HTTP-Protokoll benutzt, wenn die Übertragung von einem Computer aus angestoßen wird. Der Benutzer kann bereits mit der Wiedergabe beginnen, bevor die Mediendatei vollständig heruntergeladen worden ist. Der entscheidende Unterschied zwischen Streaming und einem Progressive Download von Mediendateien besteht darin, wie die digitale Mediendatei empfangen und durch das Gerät des Endbenutzers gespeichert wird.

Ein Mediaplayer, der zu einer Progressive-Download-Wiedergabe fähig ist, ist auf intakte Metadaten im Header der Datei angewiesen sowie auf einen lokalen Puffer der digitalen Mediendatei, die vom Webserver heruntergeladen wurde. Ab dem Zeitpunkt, an dem eine bestimmte Menge an Daten beim lokalen Wiedergabegerät verfügbar ist, wird das Medium abgespielt. Die spezifische Größe dieses Puffers ist durch den Hersteller des Dateiinhalts in den Encoder-Einstellungen der Datei eingebettet worden. Sie wird ergänzt durch zusätzliche Puffereinstellungen des Mediaplayers.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Ursprünglich war der digitale Mediendateityp JPEG das erste visuelle Medium, um eine progressive Bilddarstellung aufzubauen, noch während das Digitale Medium heruntergeladen wurde, und wurde daher als ein Progressiver Download bezeichnet. Die Unterscheidung zwischen dem technischen Verhalten von Progressive Download im Gegensatz zum üblichen Gebrauch des Begriffs Progressive Download, um dieses Verhalten zu beschreiben, wurde nicht dokumentiert, und es gibt sehr viele Fragen, die den Ursprung des Begriffs im Vergleich zu dem der technischen Implementierung betreffen. Im Jahr 1997 benutzte Apple in der Referenz seines QuickTime-Mediaplayers den Begriff des Fast Start[1], um zu beschreiben, was üblicherweise als Progressive-Download-Wiedergabe von kodierten digitalen Medieninhalten bezeichnet wird.

Der schnelle Beginn der Wiedergabe war das Ergebnis einer Verschiebung der Metadaten vom Ende der digitalen Mediendatei zu ihrem Anfang. Diese Verschiebung der Metadaten gaben dem Mediaplayer alle Informationen, die er benötigt, um die Wiedergabe zu beginnen, noch während die Datei heruntergeladen wurde. Vor dieser Änderung waren die Metadaten am Ende der digitalen Mediendatei gespeichert, und die gesamte Datei musste heruntergeladen werden, um die Metadaten auszulesen und den Mediaplayer mit der Wiedergabe beginnen zu lassen.

Progressive Download im Vergleich zu Streaming Media[Bearbeiten | Quelltext bearbeiten]

Die Wahrnehmung für den Endbenutzer ist ähnlich der bei Streaming Media. Wenn eine digitale Mediendatei in einer Webseite eingebettet ist, wird sie in den Speicher des Geräts vom Endbenutzer heruntergeladen. Die digitale Mediendatei wird typischerweise entweder im temporären Verzeichnis des beteiligten Webbrowsers gespeichert oder auf ein Verzeichnis umgeleitet, das in den Einstellungen des Mediaplayers für die Wiedergabe angegeben ist. Die Wiedergabe der digitalen Mediendatei wird ruckeln oder gar stoppen, wenn die Datenrate für die Wiedergabe die Datenrate für das Herunterladen überschreitet. Wenn erneut genügend Daten heruntergeladen wurden, wird die Datei weiter wiedergegeben.

Spulen[Bearbeiten | Quelltext bearbeiten]

Zunächst wird eine Mediendatei so schnell wie möglich von ihrem Beginn an abgespielt. Der Benutzer kann nun den Wunsch haben, an einen Zeitpunkt der Wiedergabe zu springen, der noch gar nicht heruntergeladen wurde. Diese Möglichkeit wird Spulen genannt und erlaubt es, jeden beliebigen Teil der Mediendatei herunterzuladen und wiederzugeben. Dies wird auch als Pseudo-Streaming bezeichnet.

Beim Spulen in Flash-Videos wird eine Liste von Spulpunkten in den Metadaten der Mediadatei benötigt. Diese Punkte sind Offsets im Video (sowohl in Byte als auch in Sekunden angegeben), bei welchen ein neuer Abschnitt beginnt. Ein Webserver oder ein Mediaserver, der einen Download bearbeitet, muss in den Anfragen für herunterzuladenden Daten solche Spulpunkte unterstützen.

Für andere Arten von Mediendateien wie MP4 oder MKV muss der Webserver in der Lage sein, mit speziellen Offsetparametern umzugehen. Die Namen der Offsetparameter unterscheiden sich für die verschiedenen Server und müssen daher in den Einstellungen des Mediaplayer angegeben werden.

Einige Server unterstützen das Spulen mit zusätzlichen Modulen, die in der nachstehenden Tabelle angegeben sind. Die Namen der Spulparameter sind in kursiver Schrift geschrieben.

Server Flash spulen MP4 spulen
Apache HTTP Server mod_h264 start
mod_flvx start

mod_h264 starttime

lighttpd start mod_h264 starttime
Nginx HttpFlvModule start HttpMp4Module start
Nimble Streamer start start

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. QuickTime Streaming Server 4.1. (Nicht mehr online verfügbar.) Ehemals im Original; abgerufen am 21. September 2010 (PDF): „Two methods are commonly used to deliver media over the web for real-time viewing: progressive download (Fast Start) and real-time streaming.“