Streaming

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

Inhaltsverzeichnis
  1. Grundlegendes
    1. Streaming-Arten
    2. Stream-Adressen und dauerhaftes Speicher...
  2. Player für Audio- und Videostreams
    1. Wiedergabe in Browsern
      1. Browser-Plugins
        1. Flash
        2. Player-Plugins
      2. Intern oder Extern?
      3. Konflikte zwischen verschiedenen Plugi...
    2. Wiedergabe in solitären Multimedia-Progr...
      1. Vollständige Medienplayer
      2. Hilfsanwendungen
    3. Welcher Player für welches Format?
  3. Problembehebung
    1. Wiedergabe von rtsp://-Streams mittels M...
  4. Geoblocking neutralisieren
  5. Testseiten
  6. Links
    1. Intern
    2. Extern

Wiki/Icons/multimedia.png In den letzten Jahren hat sich das Internet mehr und mehr in Richtung Multimedia entwickelt. Dadurch ergeben sich viele Möglichkeiten, wie das Anschauen von Film-Trailern und das Betreiben oder Hören bzw. Gucken von Internetradio bzw. Internet-TV. Unter Linux können die meisten Protokolle und Formate problemlos verarbeitet bzw. abgespielt werden, die richtigen Programme und Codecs vorausgesetzt.

Dieser Artikel erklärt zunächst Grundlegendes zum Streaming, bevor er dann die technischen Voraussetzungen für dessen Wiedergabe beschreibt:

Auch auf die Wiedergabe von regional gesperrten Streaming-Seiten wird eingegangen.

Eine Ausnahme sind Anbieter, die die Rolle klassischer Videotheken übernommen haben. Dazu liefert der Artikel Videoportale mit digitaler Rechteverwaltung eine Übersicht.

Grundlegendes

Streaming-Arten

Man unterscheidet beim Streaming bzw. der Streaming-Produktion zwischen zwei Haupt-Arten:

Stream-Adressen und dauerhaftes Speichern

Während die Stream-Adresse beim Live-Streaming meistens vom Inhalte-Anbieter allgemein bekannt gemacht wird (z.B. auf seiner Internetpräsenz), so ist dieser Umstand beim On-Demand-Streaming meistens nicht gegeben weil zum einen die Inhalte direkt aus dem in die Webseite eingebetteten Mediaplayer abgerufen werden können und zum anderen der Inhalte-Anbieter meistens das dauerhafte Speichern seines Contents unterbinden möchte (Ausnahmen: Direkt-Download-Links).

Mehr Informationen zum dauerhaften (im Gegensatz zum flüchtigen) Speichern von Streaming-Inhalten sowie zu Stream-Adressen liefert der Artikel Streams speichern.

Player für Audio- und Videostreams

Für das Abspielen von Audio- und Videostreams gibt es einige Player, von denen einige sich mit Hilfe von Plugins in einen Browser integrieren lassen, während andere Streams ausschließlich in ihren eigenen Player-Fenstern wiedergeben können. Einige Player beherrschen auch die Darstellung von via HTTP-Streaming übermittelten Inhalten.

Wiedergabe in Browsern

Als Browser für Streaming eignet sich Firefox am besten. Aber auch mit Opera sollte Streaming-Media kein Problem sein.

Browser-Plugins

Auch wenn heutzutage viele Websites Multimedia-Inhalte basierend auf HTML5 ausliefern und dessen Unterstützung durch die meisten Browser gegeben ist, so braucht man für viele ältere Websites doch noch ein oder mehrere Browser-Plugins.

Hinweis:

  • Im Abschnitt Testseiten findet sich u.a. auch ein Link zum Testen des Browsers auf HTML5-Unterstützung.

  • Im Abschnitt Externe Links findet sich u.a. auch ein Link zum Mozilla Plugins Check, welcher bei Mozilla-Browsern Informationen zu installierten Plugins liefert, insbesondere auch zu deren möglicher Verwundbarkeit! Die Mozilla Foundation versucht, dieser Problematik ab Firefox 18 insofern Rechnung zu tragen, in dem Plugins nur noch auf ausdrücklichen Wunsch des Benutzers (Opt-In-Verfahren oder auch "Click-to-Play") aktiviert werden. Man sollte daher bei Problemen zuerst "Extras -> Add-ons -> Plugins" kontrollieren.

  • Mit Version 30 (oder neuer) wird die Schnittstelle zur Nutzung von Plugins (NPAPI) sukzessive aus Firefox entfernt werden. Damit ist die Zukunft etlicher seit vielen Jahren genutzter Plugins ungewiss:

    • Seit 7. März 2017 blockiert 🇩🇪 Firefox mit Version 52 alle NPAPI-Plugins außer Adobe Flash. Bei Firefox ESR 52 wurde dieser Schritt jedoch noch nicht vollzogen, sondern erst mit der nächsten ESR-Version im 2. Quartal 2018, welche ursprünglich FF ESR 59 sein sollte, dann aber FF ESR 60 wurde. Nutzer von FF ESR 52 haben ab dann noch 17 Wochen Zeit, ehe sie mit Erscheinen von FF 62 und Firefox ESR 60.2 am 5. September 2018 automatisch auf FF ESR 60 migriert werden. Siehe auch Alle Unterschiede zwischen Firefox 52 und Firefox ESR 52 🇩🇪 sowie Alle Unterschiede zwischen Firefox 60 und Firefox ESR 60 🇩🇪.

    • Neu eingeführt werden außerdem die Gecko Media Plugins 🇬🇧 (GMP) für autorisierte Drittanbieter-Codecs sowie EME (Encrypted Media Extensions) CDMs (Content Decryption Modules). Als solche existieren z.B. Google Widevine für Netflix, Amazon & Co. und OpenH264 für h.264 in WebRTC-Kommunikation.

Flash

Der Flashplayer von Adobe wird benötigt, um Flash-Animationen in Webseiten wiederzugeben. Dies ist aber nicht die einzige Anwendungsmöglichkeit. So bieten beispielsweise einige Anbieter Video-Filme sowie Hörbeispiele von CDs im Flash-Format an. Um Flash abspielen zu können, muss es erst installiert werden. Dies ist im Artikel Adobe Flash beschrieben, freie Alternativen zu Adobe Flash findet man unter Flash vermeiden. Der Flashplayer ist zum Jahresende 2020 abgekündigt 🇩🇪.

Player-Plugins

Damit es keine Probleme gibt, muss jeweils der Player und das dazugehörige Plugin für den Browser installiert [1] sein:

  • VLC mit dem Firefox-Plugin VLC Web Browser Plugin. Dazu installiert [1] man das Paket

    • browser-plugin-vlc (universe)

    Wiki/Vorlagen/Installbutton/button.png mit apturl

    Paketliste zum Kopieren:

    sudo apt-get install browser-plugin-vlc 

    sudo aptitude install browser-plugin-vlc 

Achtung!

Das VLC-Plugin funktioniert noch nicht bei allen Arten von Streams. Besonders bei Microsoft-Formaten gibt es Probleme. Hier wird einfach ein schwarzes Fenster mit der weißen Schrift "no video" angezeigt. Wenn man einen anderen Player / ein anderes Plugin für Streaming-Dateien verwendet, dann sollte man in jedem Fall das Paket mozilla-plugin-vlc deinstallieren, da es mit anderen Plugins im Konflikt stehen kann!

Intern oder Extern?

Standardmäßig werden die Streams eingebettet in die Webseite abgespielt. Man kann jedoch auch dafür sorgen, dass die Streams im externen Player laufen. Dazu installiert [1] man das Paket

  • mozplugger (universe, bis 16.04)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install mozplugger 

sudo aptitude install mozplugger 

Eine weitere Methode mit sehr vielen Einstellmöglichkeiten ist die Verwendung der Firefox-Erweiterung MediaPlayerConnectivity 🇬🇧 🇩🇪 ⮷.

Möchte man hingegen für alle Formate mpv verwenden, so ist man womöglich mit der Firefox-Erweiterung Watch with MPV 🇬🇧 🇩🇪 ⮷ bedient (im FF unter "Extras → Add-ons" erscheint die Erweiterung als "mpv-youtube-dl-binding"); außerdem siehe den Abschnitt Youtube im mpv-Artikel sowie den Forums-Beitrag YouTube-Videos direkt in Firefox mit MPV abspielen lassen?.

Konflikte zwischen verschiedenen Plugins

Standardmäßig wird bei neueren Ubuntu-Versionen der Totem-Player zur Wiedergabe von Streams benutzt. Wenn man zusätzlich noch den MPlayer installiert hat, um Streaming-Dateien mit dem Mozilla Firefox abspielen zu können, kann es zu Plugin-Konflikten kommen. Es wird nicht in allen Fällen der Player verwendet, den man gerne benutzen möchte. So wird bei WMV-Dateien immer versucht, diese mit dem Totem-Player abzuspielen, was eventuell nicht funktioniert. Dieses Problem kann man jedoch lösen, indem man einen Dateimanager mit Root-Rechten öffnet und zum Verzeichnis /usr/lib/mozilla/plugins navigiert. Dieser Ordner enthält sämtliche Plugins, die installiert sind. Hier kann man nun die Plugins löschen, die man nicht verwenden möchte. Der vordere Teil gibt den Namen des Players an, z.B. steht libtotem für den Totem-Player. Der hintere Teil ist nur bei MPlayer wichtig. So steht bei mplayerplug-in-rm das rm für Real-Media. Will man nun nicht, dass Totem für Streaming-Dateien verwendet wird, so löscht man alle Dateien, die das Wort totem enthalten.

Hinweis:

Sicherheitshalber sollte man ein Plugin vor dem Löschen sichern, um es bei Bedarf wieder nach /usr/lib/mozilla/plugins kopieren zu können.

Wiedergabe in solitären Multimedia-Programmen

Vollständige Medienplayer

  • Kaffeine – Medienplayer, der sich zur Wiedergabe von diversen Audio- und Videodateien sowie für Fernsehen per DVB eignet. Das Programm ist Bestandteil der Desktop-Umgebung KDE, kann aber auch unter anderen Desktop-Umgebungen wie GNOME, Xfce usw. verwendet werden.

  • MPlayer – kommandozeilenbasierter Medienplayer, der sich durch die Unterstützung einer Vielzahl von Betriebssystemen und Medienformaten (Audio und Video) auszeichnet.

  • mpv – Kommandozeilen-Medienplayer (inklusive minimalistischer GUI), der auf den Quellen von MPlayer und mplayer2 basiert. Wie der MPlayer unterstützt mpv eine Vielzahl von Betriebssystemen und Medienformaten (Audio und Video).

  • Totem aka Videos 🇬🇧, ist der Standard-Medienspieler der Desktop-Umgebung GNOME. Das Programm unterstützt unter anderem die Wiedergabe diverser Audio-/Videoformate.

  • VLC – Der VideoLAN Client 🇩🇪 🇬🇧 (VLC), auch "VLC media player" genannt, ist ein vollständiger Medienplayer, der fast alle Mediendateien (MPEG1, MPEG2, MPEG4, H.264/AVC, DivX, MOV, Matroska (MKV), WMV, QuickTime, AC3/DTS, MP3, MP4, Ogg/Vorbis, WAV inklusive DTS) unterstützt. VLC bietet außerdem die Möglichkeit, diverse Streaming-Inhalte (inkl. Radio- und Fernsehstreams) abzuspielen.

Hilfsanwendungen

Bei vielen der folgenden Programme braucht man anstatt der Webseiten-URL eine Streaming-URL:

  • KSV Adobe HDS Downloader – Mithilfe des in PHP geschriebenen Skriptes AdobeHDS.php 🇬🇧 von K-S-V's GitHub-Seite 🇬🇧 können Multimedia-Streams im Format HDS (Adobe HTTP Dynamic Streaming) entweder aufgenommen oder – via Pipe-Operator – an einen Mediaplayer weitergeleitet werden. Damit kann also das CPU-belastende Flash-Webbrowser-Plugin umgangen werden. Von dem Skript werden sowohl On-Demand-Streams als auch Live-Streams verarbeitet.

  • Livestreamer – Ein von Christopher Rosell entwickeltes Kommandozeilen-Programm in Python, mit dessen Hilfe Multimedia-Streams in diversen Protokoll- und Wiedergabelisten-Formaten entweder aufgenommen oder – via Pipe-Operator – an einen Mediaplayer der Wahl (z.B. VLC) weitergeleitet werden können. Der Hauptzweck von Livestreamer besteht laut dem Entwickler darin, dem Nutzer fehlerbehaftete und CPU-belastende Flash-Webbrowser-Plugin zu ersparen und dabei trotzdem in der Lage zu sein, sich vielfältig gestreamter Inhalte zu erfreuen.

  • mps-youtube – Ein in Python geschriebenes Kommandozeilenwerkzeug, welches Audio- und Video-Streams von YouTube 🇩🇪 in Video-Playern wie MPlayer, mpv oder VLC abspielen sowie ansonsten auch herunterladen kann. Weitere Features sind u.a. die Suche nach Album-Stücken per Album-Titel, suchen nach sowie der Import von YouTube-Wiedergabelisten, das Erstellen sowie Speichern von lokalen Wiedergabelisten, das Umwandeln nach MP3 oder anderen Formaten sowie das Ansehen von Video-Kommentaren.

  • OBS MultiPlatform – Programm, um Video und Audio aus verschiedenen lokalen Quellen – wie z.B. eine Webcam oder Filme, die die Anwendung von Programmen auf dem Desktop eines Computers zeigen (Screencasts) – aktiv ins Internet zu streamen bzw. aufzunehmen.

  • SMTube – Eine von Ricardo Villalba 🇬🇧 (er ist auch der Hauptentwickler von SMPlayer) in der Programmiersprache C++ programmierte GUI-Anwendung, die es ermöglicht, nach YouTube-Videos zu stöbern, zu suchen und sie abzuspielen sowie sie optional auch herunterladen zu können. Videos werden mit einer Medienwiedergabe (als Vorgabe SMPlayer) anstelle des Flash-Players wiedergegeben, das ermöglicht eine bessere Leistung, insbesondere bei HD-Inhalten.

  • VidStarter – Sammlung von Skripten, mit denen externe Programme genutzt werden, um Videos aus dem Internet direkt im Mediaplayer mpv wiederzugeben. Über grafische Starter können Clips in verschiedenen Qualitätsstufen angefordert werden. Es ist auch möglich, die Titel zu speichern, oder nur die Audiospur zu extrahieren. Standardmäßig verwenden die Skripte eine experimentelle youtube-dl-Option zur Umgehung von Geoblocking.

Welcher Player für welches Format?

Nicht jeder Player liefert bei jedem Dateityp gute Ergebnisse. So braucht z.B. der MPlayer zum Laden von RealAudio-Dateien eine kleine Ewigkeit, während er mit WMV-Dateien in der Regel keine Probleme hat. Daher sollen hier einige Empfehlungen gegeben werden. Der Standardplayer unter Ubuntu ist Totem, für Kubuntu ist Kaffeine eine gute Wahl (ehemaliger Standardplayer). Diese beiden Player können auch fast alle Arten von Dateien als Stream abspielen.

Insgesamt scheinen der MPlayer bzw. der auf ihn aufbauende mpv für Streaming geeigneter zu sein. Diese Player spielen nahezu alle Streams klaglos ab und können auch zum Speichern von Streams verwendet werden. Für KDE-Benutzer gibt es keinen Grund, Kaffeine nicht als Standardplayer für Streams zu verwenden. Auch Kaffeine besitzt die Möglichkeit zur Speicherung von Streams.

Sollte man beim Abspielen von DivX-Streams Probleme haben, wird empfohlen, VLC zu benutzen. Der MPlayer lädt zum Beispiel erst den ganzen DivX-Stream herunter, bevor er ihn abspielt. Totem Gstreamer lädt immer nur einen kurzen Teil, den er dann abspielt, und dann den nächsten Teil, so dass es bei der Wiedergabe ruckelt.

VLC gibt die DivX-Streams allerdings nicht eingebettet in der Webseite wieder, sondern beim Klick auf das Video separat im Player. Möglicherweise wird man hier benachrichtigt, dass die Avi-Datei beschädigt sei und gefragt, ob man sie reparieren wolle. Hier klickt man auf "nein" und der Player spielt den Stream anstandslos ab - allerdings ist in diesem Fall kein Navigationsregler vorhanden.

Aktuell liefert das gecko-mediaplayer-Plugin bei vielen im Browser eingebetteten Streams die besten Ergebnisse.

Problembehebung

Wiedergabe von rtsp://-Streams mittels MPlayer

Für die Wiedergabe eines Streams, der mit rtsp:// beginnt, sollte man den MPlayer bzw. den auf ihn aufbauenden mpv benutzen. Dazu muss man den Anfang der URL von rtsp:// zu mms:// ändern und dann kann man z.B. den Livestream einer Ausschusssitzung des Europäischen Parlaments per MPlayer bzw. mpv abspielen:

mms://livewms.europarl.europa.eu/reflector:54992

Geoblocking neutralisieren

Das Geoblocking ist die im Internet eingesetzte Technik zur regionalen Sperrung von Internetinhalten durch den Anbieter. Es kann umgangen werden durch:

Testseiten

Wenn alle erforderlichen Pakete installiert sind, kann man testen, ob die folgenden Beispiele abgespielt werden können:

Im Artikel Internet-TV/Stationen gibt es URLs mit weiteren Protokollen u. Formaten sowie dort außerdem auch noch eine Übersicht über diverse externe Listen von Internetfernsehsendern im Abschnitt Links zu Internet-TV-Stationen.

Außerdem:

Intern

Extern