Streaming

=Streaming=

Was ist das?
Ein Stream ist erst einmal eine beliebige Aneinanderreihung von Nullen und Einsen, d.h. beliebige digitale Daten, welche hintereinander übertragen werden. Streaming steht im Medienbereich für die zeitgleiche Übertragung von digitalen Video- und Audiodaten über das Internet von einem Computer zu einem anderen. Die Verbindung besteht im einfachsten Fall genau zwischen zwei Geräten. Es werden beim Streaming immer nur gerade diejenigen Daten übertragen, welche zum Zwecke des Ansehens bzw. Anhörens benötigt werden. Streaming kommt z.B. auf Videoportalen und beim Internetradio zum Einsatz. Die zu übertragenden Daten werden beim Sender so zusammengestellt, dass der Empfänger (z.B. ein Browser) diese problemlos verarbeiten und mit minimaler Verzögerung anzeigen kann. Aktuelle Streaming-Formate unterscheiden sich von Dateiformaten, die nur zum Zweck der schnellen Aufnahme (capture) bzw. Speicherung von Daten entwickelt wurden.

Unterschiede zwischen "Streaming" und "Download"

 * ~  ||~ Streaming ||~ Download ||
 * 1. || Vieler kleine unabhängige Datenpakete werden zwecks sofortiger Anzeige/Verarbeitung übertragen. Die empfangenen Datenpakete werden möglichst nur im RAM zwischengespeichert. || Eine komplette Datei wird auf einem Datenträger gespeichert. Während der Übertragung findet keine Verarbeitung der empfangenen Daten statt. ||
 * 2. || "unsichere" Übertragung (UDP). D.h. fehlerhafte Bilder werden nicht erneut gesendet, da z.B. bereits neue Bilder zu senden sind (Live-Stream) || "sichere" Übertragung (TCP), da eine Datei bitidentisch gespeichert werden muß ||
 * 3. || Schnelle sofortige Anzeige übertragener Daten, z.B. mit einem Browser-Plug-In. || Anzeige/Verarbeitung erst nach Download ||
 * 4. || Ein spezieller Streaming-Codec sorgt für die gleichzeitige Übertragung aller benötigten Daten: Video, Audio, Metadaten, Timecode, ... || Die Reihenfolge der übertragenen Daten spielt bei der Dateiübertragung keine Rolle. Erst wenn die Datei komplett übertragen wurde, kann die Verarbeitung beginnen; ansonsten Meldung 'corrupted file' o.ä. ||

Welche Software und Hardware kommt beim Streaming zum Einsatz?
Wenn Sie selbst nur als Konsument unterwegs sind, dann hängt es letztendlich von Ihrer Hardware und Ihrem Datenvolumen ab, wie Sie sich mit Video- und Audiostreams versorgen, siehe z.B. @https://curved.de/tipps/spotify-youtube-streaming-datenverbrauch-verringern-235892. Wenn Sie selbst als Produzent Video- und Audiostreams bereitstellen wollen, dann benötigen Sie die folgenden Systemkomponenten: > mit aktuellen Streaming-Codecs und Containerformaten > (basierend z.B. auf den Standards H.263, H.264, H.265, ...). > (Realtime bzw. Containerdatei).
 * ~ Hardware/Software ||~ Aufgaben ||
 * Eine Streaming-Workstation ist ein sehr leistungsstarker Computer. || # Bereitstellung von Videobearbeitungssoftware
 * 1) Kodierung der Video- und Audiodaten ins Streaming-Format
 * 1) Datenübertragung an den Streaming-Server. ||
 * Router/Modem mit VDSL-Verbindung zum Streaming-Server (hohe Datenrate, ggf. Standleitung) || # Fehlerfreie Übertragung der Videodaten zum Streaming-Server. ||
 * Streaming-Server, siehe auch ...
 * @https://de.wikipedia.org/wiki/Streaming-Server || # Hardware eines Providers von Streaming-Diensten.
 * 1) hoch skalierbar, d.h. an "beliebige" Nutzerzahlen anpassbar. ||

Streamable Container
Für alle Streaming-Anwendungen, welche über keinen Live-Stream verfügen, wird man seine Daten irgendwo speichern müssen - anstatt sie direkt über das Netz sofort zu versenden. Hierfür kommen Containerformate in Frage, welche 'streamable content' aufnehmen können. Die in den Containerdateien enthaltenen Video- und Audiodaten werden in der Regel mit den besten Encodern der besten Video- und Audio Coding Formate erzeugt, so daß möglichst wenig Daten über das Netz versendet werden müssen, d.h. weniger Kosten und weniger Ruckeln bei gleicher oder besserer Qualität.

Live-Stream anbieten
Was ist zu tun, wenn Sie einen eigenen Live-Stream anbieten wollen? Folgende Überlegungen sind anzustellen: > (abhängig von der Nutzerzahl)
 * 1) Welche Datenrate benötigt mein Stream? Abhängig von ...
 * Bildauflösung, Bittiefe, Bilder pro Sekunde, Chroma Subsampling
 * Streaming-Codec (Kompression) - @https://en.wikipedia.org/wiki/Comparison_of_video_codecs
 * Streaming Protokoll, z.B. RTP oder AVTP
 * 1) Wie viele Nutzer werden mein Angebot nutzen?
 * 2) Welchen Provider wähle ich oder kann ich den Stream auch selbst hosten?
 * Zuverlässig?
 * Mehrere Server, z.B. regional verteilt (skalierbar via Multicast)
 * 1) Welche Hardware und Software benötige ich, wenn ich den Service selbst einrichten möchte?
 * Dimensionierung des Servers (RAM, Prozessor, Internetanbindung, z.B. >10Gbit/s)
 * Standort der Hardware

Welche Aufgaben hat ein Streaming Protokoll?
Client: Server: > bzw. redirect der Verbindung auf andere Server (Multicast) Protokoll:
 * Verbindung mit Server aufbauen anhand vorgegebener Adresse, Videostream anfordern
 * erhaltene Daten zwischenspeichern und für die Anzeige aufbereiten
 * Verteilung (Kopie) der Originaldaten an alle angemeldeten Clients
 * "Gleichzeitige" Versendung (kleine Datenpakete) von Audio-, Video- und Metadaten.
 * Reduktion des Datenaufkommens durch intelligentes Routing, siehe z.B. Multicasting

Welche Einstellungen am Streaming-Server sind 'wichtig'?
Die allermeisten Einstellungen wird Ihr Provider vornehmen, aber er wird Ihnen dafür ein paar Fragen stellen, die Sie beantworten müssen. Beispiele:
 * @https://www.video-stream-hosting.com/beratung-support/grundlagen-live-streaming/
 * @https://www.video-stream-hosting.com/beratung-support/technische-tipps/
 * @http://duepublico.uni-duisburg-essen.de/authoring/video.xml

Kann ich auch selbst einen kleinen Streaming-Server aufsetzen?
Ja, aber dieses ist generell nur für kleine anfallende Datenmengen zu empfehlen:
 * @http://www.pcwelt.de/ratgeber/Alles-was-Sie-fuer-einen-Streaming-Server-brauchen-Fritzbox-NAS-Co.-9697121.html
 * @https://de.wikipedia.org/wiki/QuickTime_Streaming_Server
 * @https://blog.tim-bormann.de/windows-7-streaming-dlna-konfigurieren.html DLNA

SNG (Satellite News Gathering)
Streams werden benötigt, um digitale Daten zu Satelliten zu übertragen (DSNG), z.B. Eutelsat KA-SAT 9A. Auf dem SNG-Wagen erzeugt ein MPEG-Encoder einen Transport Stream, welcher zum Satelliten übertragen wird. Eutelsat garantiert z.B. einen Upload von 12 MBit/s. Ein Auto-Pointing-System sorgt für die bestmögliche Ausrichtung der Parabolantenne auf dem SNG-Wagen.
 * @http://people.howstuffworks.com/digital-satellite-news-gathering.htm
 * @http://searchnetworking.techtarget.com/definition/satellite-news-gathering
 * @http://de.wikipedia.org/wiki/Elektronische_Berichterstattung
 * @http://www.eutelsat.com/deutsch/satellites/EUTELSAT-KA-SAT-9A.html

TV-Fernsehempfang / Satellit
Auch beim Fernsehempfang (z.B. via DVB-T2) handelt es sich um Streaming, siehe ...
 * @http://www.ukwtv.de/cms/sender-tabelle/satellit-kabel.html

Internet-Radio
Internet-Radio wird via Streaming angeboten, siehe z.B.
 * @https://de.wikipedia.org/wiki/Spotify
 * @http://www.focus.de/digital/internet/tid-25249/deutschlandstart-der-musikrevolution-die-wichtigsten-antworten-zu-spotify_aid_723254.html
 * @http://www.gruenderszene.de/allgemein/spotify-datenschutz
 * @http://t3n.de/news/spotify-effekt-100-gb-grosse-mp3-sammlung-556511/
 * @http://www.spiegel.de/netzwelt/web/spotify-musiker-klagen-ueber-niedrige-streaming-erloese-a-841643.html

Streaming-Anbieter / Video
Netflix (z.B. mit Chromecast Ultra) und Amazon (Streaming-Box Fire-TV / 4K-Version) streamen bereits einige Filme und Serien in 4K. Weitere Voraussetzungen: Installation der entsprechenden Apps auf dem Fernseher.

Datenaufkommen
Je nachdem, ob ein Stream via DVB-Broadcast oder im Internet als Stream zwischen den Hosts übertragen wird ... zu Verständnis:
 * 1) ... entsteht ein unterschiedlich hohes Datenaufkommen und
 * 2) ... wird unterschiedlich leistungsfähiges Equipment benötigt.
 * @https://aseith.com/display/KB/Unterschiede+zwischen+Unicast,+Broadcast,+Multicast+und+Anycast
 * @https://de.wikipedia.org/wiki/Unicast

Detailliertere Informationen

 * @http://www.linux-magazin.de/Ausgaben/2007/02/Ein-langer-ruhiger-Fluss
 * []
 * []
 * []
 * []
 * @https://de.wikipedia.org/wiki/Multicast
 * @https://technet.microsoft.com/de-de/library/cc772041(v=ws.10).aspx
 * @http://www.peerstream.net/streaming-formate

Technik-Beispiele

 * []
 * []
 * []
 * []

Internet-Anwendungen
Protokolle:
 * []
 * []
 * []
 * []
 * @https://de.wikipedia.org/wiki/Resource_Reservation_Protocol

=AUFGABEN=

Aufgabe 1 - Klärungsbedarf

 * 1) Welche Datenraten sind im Internet für Streaming von Video und Audio gebräuchlich?
 * 2) Welche Formate eignen sich für das Streaming? Welche sind zu bevorzugen?
 * 3) Welche Formatwandlungen nehmen Vimeo und Youtube vor beim Upload von Videos?
 * 4) Wie erreiche ich die beste Wiedergabequalität unter den gegebenen Voraussetzungen für den Betrachter meines Videos?
 * 5) Was ist der Unterschied zwischen Streaming von Daten und Download von Dateien?

Aufgabe 2 - Einfaches Streaming?
siehe ...
 * @http://www.pcwelt.de/ratgeber/Alles-was-Sie-fuer-einen-Streaming-Server-brauchen-Fritzbox-NAS-Co.-9697121.html

a) Klären Sie, mit welchen Einschränkungen man leben muss, wenn man einen Streaming-Service selbst bereitstellt! b) Für welche Zwecke reicht dieses "einfache Streaming"?

Aufgabe 3 - Browser-Cache
Den Zwischenspeicher des Firefox-Browsers ("Cache") kann man nach Bedarf in seiner Größe ändern oder auch komplett leeren. a) Nennen Sie Vor- und Nachteile des Löschens von Dateien aus dem "Cache"! b) Handelt es sich bei den Dateien dieses Zwischenspeichers um Downloads oder sind es Streaming-Daten? Wie sind diese Dateien zu bewerten?

Aufgabe 4 - Aktuell genutztes Video Coding Format
In welchen Formaten streamen aktuell "die Großen", d.h. YouTube, Vimeo, Netflix, ... Erstellen Sie eine aussagekräftige Tabelle, ggf. mit Kommentarspalte und kurzen knackigen Erläuterungen!

Siehe z.B.

 * @https://www.quora.com/In-what-format-s-are-Netflix-streaming-movies
 * @https://www.golem.de/news/videocodecs-netflix-nutzt-vp9-codec-fuer-offlinemodus-1612-124906.html
 * @https://medium.com/netflix-techblog/high-quality-video-encoding-at-scale-d159db052746

siehe auch:
 * http://pcbasics.wikispaces.com/H264 / Aufgabe 2

Aufgabe 5 - Freeware
Untersuchen Sie die Möglichkeiten und Limitierungen der folgenden Software: z.B.
 * @https://obsproject.com/ Open Broadcaster Software
 * 1) Wie funktioniert das Streaming?
 * 2) Wo steht der Streaming Server?
 * 3) Welche Einstellungen sind vorzunehmen?

Aufgabe 6 - Ü-Wagen
Finden Sie Antworten auf folgende Fragen! Infos:
 * 1) Welche Möglichkeiten bestehen zur Übertragung von Videodaten?
 * 2) Wie 'streamt' ein Ü-Wagen?
 * 3) Wann werden die zur Verfügung stehenden Techniken eingesetzt? Denken Sie z.B. an Menge, Kosten, Geschwindigkeit und Störungen.
 * @https://www.movie-college.de/index.php/filmschule/medien/medientechnik/ue-wagen
 * @https://www.abendblatt.de/kultur-live/tv-und-medien/article205624143/Kann-eine-Smartphone-App-einen-Ue-Wagen-ersetzen.html
 * @https://www.prepaid-flat.net/eine-rufnummer-und-mehrere-sim-karten/
 * @https://www.teltarif.de/handy/sim-karte/multisim.html?page=all
 * @https://mebucom.de/news-detail/technik/br-nimmt-hd-ue-wagen-in-betrieb.html
 * @https://www.pressebox.de/inaktiv/lawo-ag/MTV-Networks-entscheidet-sich-bei-neuem-Ue-Wagen-fuer-Lawo/boxid/458719
 * @https://www.production-partner.de/story/ue-wagen-fuer-deutschlandradio-kultur/
 * @https://www.digitalproduction.com/2008/02/11/fuehrender-belgischer-ue-wagen-vermieter-setzt-auf-wellen-noethen/