Streaming - Streaming Methoden
Live Streaming und Real Time Streaming
Bei den nachfolgenden Streaming Methoden ist mehr Einsatz auf der Protokollebene gefragt. Es gibt Protokolle und Ports die explizit das Streamen mutlimedialer Inhalte regeln. Das bekannteste ist wohl das RTSP Protokoll (Real Time Streaming Protokoll). Es tritt meistens in Kombination mit dem RTCP Protokoll auf. RTSP regelt die Verarbeitung des grundlegenden Datenstroms, und RTCP verarbeitet die Medien- und Steuerungsinformationen der RTP Verbindung.
RTSP hat die (positive) Eigenschaft, dass es Zustände annehmen kann und zweiseitig kommuniziert werden kann. Das heißt, ein Request (Anfrage) kann vom Client und / oder vom Server abgesetzt werden. HTTP beispielsweise hat diese Eigenschaft nicht. HTTP ist ein zustandsloses Protokoll und es findet nur eine einseitige Kommunikation statt.
Beim Live Streaming oder Real Time Streaming kann man den Kommunikationsweg gut am Beispiel einer Webkamera erklären: Eine Webkamera sendet ja keinen Film sondern lediglich einen Datenstrom der temporär existent ist. Wenn ein Internetnutzer nun das Bild der Webkamera aufruft, werden nicht alle Daten seit dem Start der Webkamera gezeigt, sondern der aktuell gesendete Datenstrom der Webkamera. Man klinkt sich sozusagen in einen bestehenden Datenstrom ein. Beim Livestream wird ein Video mit der Länge von 5 Minuten auch in 5 Minuten Plus Minus übertragen.
Als Transportprotokoll wird beim Livestreaming für gewöhnlich UDP verwendet. -Warum? Das UDP Protokoll ist wesentlich effizienter, schneller und bandbreiten-schonender als TCP/IP, was das Thema Streaming anbelangt. UDP bietet keinerlei Kontrollfunktionen die den Erhalt des Datenpakets beim Client sichern, was beim Livestreaming auch nicht sinnvoll ist.
TCP/IP würde einen Paketverlust bemerken und das entsprechende Paket neu vom Server anfordern, was zum Flaschenhalseffekt der Netzbandbreite führen könnte. Wichtige Bandbreite wird blockiert, und/oder verschwendet. In der Welt des Streamings werden Sie häufig mit einem oder mehreren der nachfolgenden Protokollen konfrontiert werden:
- UDP (User Datagram Protokoll) seltener: TCP (Transmission Control Protokoll)
- RTP (Real Time Protokoll)
- MMS (Microsoft Media Streaming)
- SDP (Session Description Protokoll)
- HTTP (Hypertext Transfer Protokoll)
Diese Protokolle regeln die Kommunikation zwischen dem Sender (Streamingserver) und Empfänger (Client). So mancher wird stutzen, wenn er HTTP in der Liste sieht! Ja, auch HTTP ist dabei! Eine praktische Behelfslösung, da viele Unternehmen aus Sicherheitsgründen die gängigsten Streamingports blocken. Mit Pseudostreaming über das HTTP Protokoll kann diese Blockade umgangen werden und das Video ist somit zugänglich.
Auch aus Kostengründen greifen viele Blogger und auch Unternehmen auf HTTP Streaming Methoden zurück. Um über das HTTP Protokoll zu streamen ist zudem kein Streamingserver erforderlich. Das Streaming kann mit einem gewöhnlichen Webserver wie dem Apachen und entsprechenden PHP Scripten realisiert werden. Es gibt auch noch eine Vielzahl an erweiterten RT-Protokollen für Live Streaming und Real Time Streaming, die sich ebenfalls nach Anforderung und Funktionsweise voneinander abgrenzen lassen:
- RTP (Real Time Protokoll)
- RTSP (Real Time Streaming Protokoll)
- RTCP (Real Time Control Protokoll)
- RTMP (Real Time Messaging Protokoll)
- RTMPT (Real Time Messaging Protokoll Tunneled, RTMP getunnelt via HTTP)
- RTMPS (Real Time Messaging Protokoll Secure, Implementation von SSL in RTMP)
- RTMPE (Real Time Messaging Protokoll Exteded, Erweiterte Version von RTMPS)
- RTMPTE (Real Time Messaging Protokoll Tunneled Extended, Erweiterte, verschlüsselte und getunnelte Variante des RTMP Protokolls)