Jump to content
Griga

Internet TV mit dem DVBViewer GE 3.6

Recommended Posts

Griga

Internet TV mit dem DVBViewer GE 3.6

Bitte beachten: Dieser und die nachfolgenden Texte wurden an Änderungen im DVBViewer GE 3.6.2 angepasst. Durchgestrichene Passagen sind nur bis zum DVBViewer GE 3.6.1 gültig. Grüne Passagen sind erst ab dem DVBViewer GE 3.6.2 gültig.

 

Ab Version 3.6 ermöglicht der DVBViewer GE neben Internet Radio auch Internet TV. Die unterstützten Streaming-Formate sind vollständig integriert. Das heißt, die Sender werden in der Senderliste verwaltet, können aufgenommen, zu Favoriten ernannt, als Bild in Bild oder zeitversetzt betrachtet werden. Im Prinzip funktioniert es wie DVB-Empfang. Zu den WENNs und ABERs kommen wir gleich...

 

Im folgenden eine Anleitung - für eine bessere Übersicht jedes Kapitel in einem separaten Post:

 

Was wird geboten?

 

Internet TV braucht keine spezielle Hardware. Erforderlich ist neben der üblichen Ausstattung an Decodern (LAV Filters empfohlen) natürlich ein Internetzugang. Ein paar MBit im Downstream sollte er schon liefern, sonst wird es eng. Eine wichtige Voraussetzung für die Wiedergabe ist der im DVBViewer GE 3.6-Paket enthaltene DVBViewer Fillter 3.9. Er muss im System registriert sein, was man durch Aufruf von DVBViewer GE\Filters\Register_DVBSource.exe sicherstellt.

 

Was hat Internet TV zu bieten? Vor allem eine enorme Vielfalt: Neben den meisten deutschen öffentlich-rechtlichen Sendern und ein paar Privaten zahlreiche lokale Sender, die sonst nur in regionalen Kabelnetzen zu finden sind. Dazu allerlei Schräges, Ausgefallenes und Exotisches abseits des TV Mainstream, von der Künstler-Plattform SFE (Souvenirs from Earth) über den isländischen Musiksender Bravo bis zum mexikanischen Kultur- und Bildungskanal Once oder US-amerikanische Full HD College-Sportsender (PAC).

 

Der Einstieg ist einfach: Das DVBViewer GE 3.6-Paket enthält im Ordner „Internet-TV“ eine Sammlung von über 400 Internet TV-Sendern. Die Senderlisten im INI-Format lassen sich importieren, indem man die (entpackten) Dateien mit der Maus in die Senderliste zieht. Es gibt folgende Kategorien:

  • HLS Deutsch.ini: Deutschsprachige Sender, die das HLS-System verwenden (HTTP Live Streaming für Mobilgeräte). Enthalten sind die meisten deutschen Öffentlich-Rechtlichen sowie einige Privatsender.
  • HLS Deutsch Lokal.ini: Deutschsprachige lokale und offene Kanäle, die HLS verwenden.
  • HLS International.ini: Eine große Anzahl ausländischer Kanäle, die HLS verwenden.
  • HbbTV Deutsch.ini: Bis auf wenige Ausnahmen deutschsprachige Sender aus HbbTV-Portalen, die einen reinen Transportsrom ohne HLS liefern. Darunter zahlreiche Lokalsender, die auch in der Kategorie „HLS_Deutsch Lokal“ zu finden sind, aber via HbbTV mitunter in besserer Qualität, da sie für stationären Empfang mit internetfähigen Fernsehgeräten ausgelegt sind.

Hier gibt es zusätzlich zahlreiche HLS Webcams für den Import in die Senderliste.

 

Bitte darauf achten, dass Optionen -> Allgemein -> Automatischer Sender-Update eingeschaltet ist. Eventuell muss der DVBViewer GE beim ersten Einschalten mancher Sender noch die Senderdaten ermitteln.

 

Nach dem Import gibt es in der Senderliste einen neuen Stammordner namens Internet TV. Und man kann die Sender anwählen und schauen, was geht oder gerade nicht geht... denn wer die Zuverlässigkeit von DVB-Empfang gewohnt ist, muss sich umstellen. Perfektionisten, die jeden Bildruckler und Aufnahmefehler als persönliche Beleidigung empfinden, fangen mit Internet TV am besten gar nicht erst an. Denn hier herrschen raue Sitten. Was alles passieren kann:

  • Streaming-Server oder Leitungen sind überlastet und liefern nur noch tröpfchenweise Daten, wenn überhaupt. Der Empfang stockt, das Bild bleibt stehen. Besonders gerne in der Internet-Hauptverkehrszeit zwischen 18:00 und 22:00 Uhr. Man sollte nie fest damit rechnen, dass man seine Lieblingssendung via Internet vollständig sehen oder aufnehmen kann.

 

  • Manchmal begrüßt einen beim Einschalten eines Senders ein Hinweis "Aus rechtlichen Gründen kann die laufende Sendung nicht angezeigt werden". Dem Sender fehlen die Rechte für eine Verbreitung im Internet. Hinzu kommt Geoblocking. Sendungen oder ganze Sender dürfen nicht außerhalb der Landesgrenzen gezeigt werden. Wer hofft, deutsche Sender via Internet im Ausland empfangen zu können, muss mit Einschränkungen rechnen.

 

  • Wer die SD-Bildqualität mancher DVB-Kanäle grottenschlecht findet, wird sehen: Das ist noch zu toppen. Viele Streaming-Angebote sind mit minimaler Video-Datenrate auf Mobilempfang zugeschnitten, ohne Rücksicht darauf, ob Bilddetails in Blockartefakten untergehen. Mitunter fügen Encoder-Bugs ihren Senf in Form regelmäßiger Störungen hinzu. Kurz gesagt, es gibt in dem Bereich krasse Qualitätsunterschiede, von ansehnlichem HD bis zur ungenießbaren Pixelmatsche.

 

  • Eine saubere TV-Wiedergabe braucht Zeitstempel (PTS) im Datenstrom. Das vom DVBViewer verwendete DirectShow-System reagiert sehr ungehalten, wenn die nicht stimmen. Manche Internet-Sender tun alles, um die Wiedergabe komplett zum Erliegen zu bringen. Da läuft die mitgesendete Zeitreferenz (PCR) zu schnell oder zu langsam, die Zeitangaben springen wild hin und her... es gibt aber Gegenmittel. Mehr dazu im Abschnitt "Internet TV in der Senderliste".

 

  • Das Bildseitenverhältnis scheint manchen Internet-Sendern vollkommen egal zu sein. Nicht nur, dass 16:9 als 4:3 und umgekehrt gesendet wird - es treten auch exotische Varianten wie 5:4 auf. Das Resultat: Eier- und Plattköpfe... man kann das im DVBViewer natürlich manuell korrigieren (Einstellungen -> Bildseitenverhältnis). Trotzdem nervig.

 

  • "Live" ist relativ... insbesondere HLS hinkt dem DVB-Empfang 30 bis 45 Sekunden hinterher. Wer den Torjubel beim Nachbarn hört, kann sich also noch schnell ein Bier holen, ohne das Ereignis zu verpassen. Manche Sender machen aus der Not eine Tugend. Beim Ersten und ZDF kann man zum Beispiel einen bis zu einer halben Stunde verzögerten Stream abrufen – nützlich, wenn man für eine Sendung zu spät nach Hause kommt. Dazu später mehr.

 

  • Teletext, EPG und Untertitel? Fehlanzeige. Mehr gibt es dazu nicht zu sagen.

Zusammengefasst: Internet TV kann herkömmliche Empfangswege nicht ersetzen. Als alleinige TV-Quelle ist es vielleicht für anspruchslose Gelegenheits-Fernseher geeignet, ansonsten eher als Ergänzung zum DVB-Empfang von Wert. Wer gelegentlich während einer laufenden Aufnahme einen anderen Sender sehen will, ohne in einen weiteren Tuner zu investieren, ist damit gut bedient. Und im lokalen oder weltweiten TV-Angebot zu stöbern macht Spaß. Insgesamt eine interessante Sache, wenn man nicht zu viel erwartet.

Edited by Griga
Aktualisiert
  • Like 2

Share this post


Link to post
Griga

Unterstützte Streaming-Formate

Wenn man im DVBViewer GE die Eigenschaften des Internet TV-Stammordners aufruft, sieht man dort einen neuen Tunertyp: TS Stream. Er umfasst verschiedene Netzwerkprotokolle, unter der Voraussetzung, dass sie einen ISO-konformen unverschlüsselten Transportstrom (TS) enthalten. Andere Inhalte wie MP4 oder Flash unterstützt die TS Stream-Empfangsart nicht. Im Einzelnen kann der DVBViewer GE:

  • Einfaches HTTP Streaming. Es wird gerne von Sendern verwendet, die über DVB-T oder Satellit erreichbar sein wollen, jedoch ohne die enormen Kosten dieser Verbreitungswege. Sie sind dann in HbbTV-Portalen anwählbar. Die Video- und Audio-Daten kommen jedoch via Internet. Kennt man die Adresse, geht es auch ohne HbbTV-fähigen Fernseher. Weiterhin kann man im Heimnetzwerk gestreamte TS-Dateien auf diese Weise empfangen.

 

  • HLS (HTTP Live Streaming). Ein von Apple für iPhone und IPad erdachtes und deshalb von zahlreichen Sendern unterstütztes Streaming-System. Es liefert einen mit M3U-Playlisten verwalteten segmentierten Transportstrom. Die ursprüngliche Idee dahinter ist adaptives Streaming: Mobilgeräte können je nach verfügbarer Datenrate die Bildqualität bzw. Auflösung dynamisch ändern. Dies unterstützt der DVBViewer GE jedoch nicht. Standardmäßig wählt er immer die höchste Qualität - für den stationären Betrieb meistens angemessen. Wie man notfalls die Datenrate manuell herunterschraubt, kommt später zur Sprache.

 

  • Internetradio mit MP3/AAC Audio: Den Inhalt dieser HTTP Streams verpackt der DVBViewer GE intern in einen Transportstrom. Höhere Programmschichten sehen ihn dann als TS Stream bzw. DVB-Radio an und packen ihn wieder aus (also wie Weihnachten :)). Nur wenige Sender, die noch andere Formate wie Windows Media Audio (WMA) oder Ogg Vorbis verwenden, lassen sich nicht als TS Stream behandeln. Sie müssen in der DVBViewer GE-Senderliste als allgemeiner Stream ohne Aufnahmemöglichkeit gespeichert werden.

 

  • UDP/RTP Multicast und Unicast, so wie von T-Entertain und anderen Anbietern gegen Bezahlung verfügbar (oder auch vom VLC als Streaming-Quelle im Heimnetzwerk). Diese Methode wurde und wird vom DVBViewer bereits durch die Empfangsart DVB-IPTV abgedeckt, aber im TS Stream-Rahmen auf eine neue Basis gestellt, die besser handhabbar und in Zukunft leichter auf IPv6 erweiterbar ist.

  • RTSP, sofern Sat>IP konform. Im TS Stream-Rahmen arbeitet der DVBViewer GE als sogenannter Thin Client, der vom Sat>IP-Server vorgefertigte und in einer Senderliste bereitgestellte URLs verwendet (wie die in der vom Recording Service erzeugten RTSP-Senderliste). Dies ist eventuell bei Sat>IP-Servern nützlich, die keine andere Möglichkeit bieten. Der Betrieb mit virtuellen Sat>IP- bzw. RTSP-Geräten, die den Standard vollständig implementieren, ist jedoch wesentlich leistungsfähiger und im DVBViewer GE vorzuziehen, wenn möglich.

  • Lokale TS-Dateien. Wenn man dem DVBViewer GE einen lokalen Dateipfad als Adresse eines TS Streams angibt, verhält er sich, als würde der Inhalt live gesendet. Das ist für spezielle Zwecke nützlich. Mit einer Aufnahme lässt sich für Tests der Live-Betrieb simulieren. Außerdem kann man so eine TS-Datei im Bild-in-Bild-Fenster abspielen (allerdings ohne Navigationsmöglichkeit), was mit dem DVBViewer sonst nicht geht.
Edited by Griga
Änderungen im DVBViewer GE 3.6.2

Share this post


Link to post
Griga

TS Stream-Geräte und Einstellungen

Dieser Abschnitt betrifft auch Neuerungen beim Internetradio-Empfang!

TS Streaming und Internetradio beruhen im DVBViewer GE wie Sat>IP oder IPTV auf virtuellen Geräten. Das sind Programmteile, die so tun, als wären sie eine DVB Hardware. Dies ermöglicht eine Integration mit geringem Aufwand.

Allerdings erscheinen TS Stream-Geräte standardmäßig nicht unter Optionen -> Hardware. Ebenso bei Internetradio. Der DVBViewer GE erzeugt sie intern nach Bedarf. Das hat den Vorteil, dass der Anwender sich nicht drum kümmern braucht. Es gibt jedoch auch Nachteile. Man kann keine Einstellungen vornehmen. Und der DVBViewer GE ist bei der automatischen Erzeugung neuer Geräte möglichst sparsam. Wenn er zum Beispiel das Erste (via Internet) wiedergibt, und dann startet eine Timeraufnahme vom ZDF (auch Internet), wird er die Wiedergabe auf das ZDF zwangsumschalten, um die Erzeugung eines weiteren Gerätes zu vermeiden. Der DVBViewer GE weiß ja vorab nicht, welche Bandbreite der Internetzugang bietet und wie viel davon die Sender brauchen. Also gibt er vorsichtshalber der wichtigeren Timeraufnahme Vorrang.

Ab Version 3.6 erlaubt es der DVBViewer GE, mit Optionen -> Hardware -> Hinzufügen virtuelle TS Stream- und Internetradio-Geräte manuell zu konfigurieren. Sie erscheinen in der Hardware-Liste und gelten auf jeden Fall als verfügbar. Mit zwei solchen TS Stream-Geräten würde in dem oben geschilderten Fall die Wiedergabe des Ersten trotz Timeraufnahme weiterlaufen. Wer weiß, dass sein Internet-Zugang zwei oder mehr Sender gleichzeitig schafft, kann die dafür erforderlichen Geräte auf diese Weise vorab reservieren. Wird darüber hinaus ein weiteres Gerät gebraucht, sorgt der DVBViewer GE nach dem oben geschilderten Prinzip wieder automatisch dafür.

Eine nützliche Einstellung für Internet-Empfang ist Optionen -> Hardware -> Bei fehlendem Stream neu tunen nach... Manchmal klappt das Einschalten eines Senders nicht beim ersten Anlauf. Oder der Stream bricht plötzlich ab. Dann hilft es manchmal, die Verbindung zum Server neu herzustellen. Die Option veranlasst den DVBViewer GE, das nach X Sekunden ohne eintreffende Daten automatisch durchzuführen und erspart es, den Sender manuell neu einzustellen. Die standardmäßigen 3 Sekunden bei automatisch erzeugten oder neu hinzugefügten Geräten haben sich in der Praxis bewährt.

Beim automatischen Retune gibt es allerdings einen Haken. Insbesondere wenn Server-Antworten lange auf sich warten lassen, kann es passieren, dass der DVBViewer GE zeitweise nicht mehr reagiert. Um zu verhindern, dass er durch automatisch wiederholtes Tunen unbedienbar wird, setzt er deshalb das Retune-Intervall nach jedem Misserfolg automatisch um eine Sekunde hoch, bis zum Maximalwert von 30 Sekunden. Erst bei einem Erfolg kehrt er zum konfigurierten Intervall zurück. Also wenn es beim Tunen von Internet-Sendern mal klemmt - einfach eine Weile warten. Das Problem sollte sich von selbst beheben.

Zwei weitere Einstellmöglichkeiten für fest konfigurierte TS Stream- und Internetradio-Geräte gibt es im unteren Teil der Hardware-Optionen unter "HTTP-Einstellungen":

  • Verbindungs-Timeout bestimmt, wie viele Millisekunden der DVBViewer GE maximal auf eine Antwort des Servers wartet, bis er aufgibt (Standard 3000 ms). Eine längere Zeit empfiehlt sich eventuell bei schwer zu erreichenden Sendern. Zu beachten ist jedoch, dass sich damit auch die Zeit erhöhen kann, in der der DVBViewer während des Tunens nicht bedienbar ist.

 

  • Empfangspuffer bestimmt die Größe des vom Netzwerk-Treiber für die Verbindung eingerichteten Puffers in kB. Der Wert 0 überlässt es Windows, die Größe zu wählen. Dies ist für Internetradio im allgemeinen ausreichend. Internet-TV braucht mehr Puffer. Hier richtet der DVBViewer GE standardmäßig 1024 kB = 1 MB ein. Sollte es häufig zu Aussetzern kommen, kann man versuchen, mit einem erhöhten Wert gegenzusteuern (z.B. 512 kB für Internetradio oder 2048 kB für Internet TV).
Edited by Griga
Änderungen im DVBViewer GE 3.6.2

Share this post


Link to post
Griga

Internet TV in der Senderliste, neue Sender hinzufügen

Internet TV-Sender befinden sich in Stammordnern mit dem Tuner-Typ "TS Stream", wie oben bereits erläutert. Zu beachten ist der Unterschied zum bereits ab DVBViewer GE 3.5 unterstützten allgemeinen Stream-Empfangstyp:

  • Stream umfasst im Prinzip alle Video/Audio-Streaming-Formate inklusive Internetradio. Sie werden an einen externen Quellfilter wie zum Beispiel LAV delegiert, von dessen Fähigkeiten es abhängt, ob die Wiedergabe gelingt. Aufnahmen sind nicht möglich. Ausnahme: Internetradio mit MP3 oder AAC-Audio bereitet der DVBViewer GE intern so auf, dass es mit dem DVBViewer Filter wie ein DVB-Sender verarbeitet und aufgenommen werden kann. Lokale Media-Dateien werden normal als Dateien mit allen Navigationsmöglichkeiten abgespielt, wodurch die Senderliste die Funktionalität einer Wiedergabeliste erhält. Mehr dazu hier.

  • TS Stream ist dagegen auf Streaming-Formate spezialisiert, die einen unverschlüsselten ISO-konformen Transportstream enthalten (s.o.). Senderlisten-Einträge vom Typ TS Stream werden grundsätzlich wie DVB-Sender als Live Streams mit dem DVBViewer Filter wiedergegeben. Dazu gehört auch Internetradio mit MP3- oder AAC Audio, das der DVBViewer GE intern in einen Transportstream verpackt. Es stehen vom DVB-Empfang bekannte Möglichkeiten wie Aufnehmen, Timeshift und Bild-in-Bild zur Verfügung.

Sowohl Stream als auch TS-Stream-Stammordner erscheinen in der Senderliste als Link-Symbol, jedoch mit verschiedenen Farben (Türkis für allgemeine Streams und Lila für TS Streams). Das gleiche gilt für Sender-Einträge des jeweiligen Typs in der Favoritenliste.

Wie kommt man an Sender? Am einfachsten ist der Import durch Ziehen einer vorgefertigten Senderlisten-Datei ins Senderlisten-Fenster. Es werden folgende Formate unterstützt:

  • INI-Senderlisten im DVBViewer-Format und INI-Transponderlisten mit TS Stream-Einträgen im TransEdit-Format (erzeugt von TransEdit ab 4.1. Beta, wird demnächst veröffentlicht).
  • M3U-Playlisten mit URLs.

Beim Import gelten folgende Regeln:

  • Bereits in der Senderliste enthaltene Einträge werden ignoriert, außer wenn man dabei die Strg-Taste gedrückt hält.
  • Vor einem M3U-Import bestimmt man den Ziel-Stammordner, indem man ihn oder einen Untereintrag selektiert. Falls der DVBViewer GE feststellt, dass der Typ der importierten Einträge nicht zu diesem Stammordner passt (also wenn man z.B. versucht, Stream-Einträge in einen Satelliten-Ordner zu befördern), legt er einen neuen Stammordner an.

Der DVBViewer GE erkennt beim Senderlisten-Import normalerweise den Typ der Einträge, wenn er oder TransEdit die Datei erzeugt haben. Er weiß also, ob sie zum allgemeinen Typ „Stream“ oder zum spezialisierten Typ „TS Stream“ gehören und besteht auf einem passenden Stammordner. Falls es sich um eine M3U-Datei aus anderer Quelle handelt, muss man durch eine geeignete Vorauswahl selbst die Entscheidung treffen. Einträge, die keinen Transportstrom liefern, oder Internetradio-Sender mit einem anderen Format als MP3/AAC-Audio funktionieren in einem TS Stream-Stammordner nicht.

Will man der Senderliste manuell neue Einträge hinzufügen, braucht man die Adresse (URL) und einen Sendernamen. Am einfachsten ist der Import mit Drag & Drop aus einem geeigneten Browser. Mit dem Internet Explorer funktioniert es leider nicht, solange er im geschützten Modus läuft. Man muss ihn entweder abschalten (nicht empfohlen) oder einen anderen Browser wie Firefox verwenden. Als Ziel muss es in der Senderliste bereits einen TS Stream-Stammordner geben. Hier zum Probieren ein arabischer Kindersender (früher Al Jazeera Children's Channel) :

Jeem

Einen solchen Link klickt man einfach mit der Maus an und zieht ihn in einen TS Stream-Stammordner der DVBViewer GE-Senderliste. Und das war es bereits. Der DVBViewer GE hat einen neuen Eintrag mit dem Sendernamen angelegt und intern die Adresse notiert. Die restlichen Daten ermittelt der DVBViewer GE beim ersten Einschalten des Senders, wenn Optionen → Allgemein → Automatischer Sender-Update eingeschaltet ist. Ansonsten funktioniert es nicht.

Wer jetzt versucht, den Sender ein zweites Mal in die Senderliste zu ziehen, wird merken: Es geht nicht. Der DVBViewer GE weist darauf hin, dass die Adresse bereits vorhanden ist. Wer unbedingt Mehrfacheinträge produzieren will, hält beim Import die Strg-Taste gedrückt. Dann akzeptiert es der DVBViewer GE.

Wenn der Browser Sendername und Adresse separat angibt, ist die Vorgehensweise etwas anders:

4E TV

http://mail.tv4e.gr:1935/live/myStream.sdp/playlist.m3u8

Zunächst zieht man den Link in die Senderliste, der dort unschönerweise auch als Sendername erscheint. Um das zu korrigieren, markiert man den Sendernamen „4E TV“ mit der Maus, lässt die linke Maustaste los, klickt den markierten Text erneut an und zieht ihn auf den neuen Senderlisten-Eintrag. Der DVBViewer GE merkt, dass es sich nicht um eine Adresse handelt, und übernimmt den Text als Sendername.

Grundsätzlich gilt: Was im Bowser nicht als Link, sondern als Text ausgeführt ist, muss vor dem Ziehen markiert werden. Also auch Adressen, die keine Links sind. Hier der Lokalsender Radio Weser TV, der nur einen Teil des Tages sendet und es wegen miserabler Bildqualität nicht in die mitgelieferten Senderlisten geschafft hat. 320x240 auf einem Full HD Schirm muss man gesehen haben!

Radio Weser TV

rtmpt%3a//stream.radioweser.tv%3a1935/live playpath=livestream2.sdp

Hier markiert man zunächst die Adresse, zieht sie in die Senderliste, markiert dann den Sendernamen und zieht ihn auf den neuen Eintrag.

Bei der obigen Adresse gibt es zwei Besonderheiten. Erstens handelt es sich um das Dreambox-Format. Der DVBViewer GE verwandelt es automatisch in eine normale URL, indem er „playpath=“ rauswirft und die Zeichenfolge „%3a“ durch einen Doppelpunkt ersetzt. Zweitens fängt die URL mit der Protokollbezeichnung rtmp an. Das bedeutet, sie ist für einen Flash-Player gedacht. Flash kann der DVBViewer GE eigentlich nicht. Viele Server bedienen jedoch auch die HLS-Schiene, wenn man die URL etwas abändert. Das macht der DVBViewer GE automatisch. Wer das Resultat sehen will, ruft in der Senderliste die Eigenschaften des Senders auf, indem er den Button unten links anklickt. Im mittleren Bereich „TS Stream-Eigenschaften“ sieht man die Adresse, die nun mit http anfängt. Hinten hat der DVBViewer GE „playlist.m3u8“ angehängt. Sowas kann funktionieren oder auch nicht. Es hängt vom Server ab.

Die Sender-Eigenschaften braucht man auch für Adressen, die sich nur mit Kopieren und Einfügen oder Abschreiben in die Senderliste befördern lassen. Und das geht so: Man selektiert in der Senderliste einen Kategorieordner innerhalb eines TS Stream-Stammordners. Wenn man nun die Eigenschaften aufruft, erhält man eine Art Blanko-Formular für einen Sender-Eintrag. In die oberste Zeile gehört der Sendername und in die Adresszeile die URL. Nachdem man auf Hinzufügen geklickt und den Sender angewählt hat, ermittelt der DVBViewer GE die restlichen Daten wie gesagt automatisch.

Wer will, kann es mit dem Pfad einer lokalen TS-Datei auf der Festplatte probieren: Rechtsklick im Explorer bei gedrückt gehaltener Umschalttaste auf die Datei, „Als Pfad kopieren“ anwählen, den Pfad in die Adresszeile der Sender-Eigenschaften einfügen, einen Namen ergänzen, Hinzufügen, Eintrag anwählen – jetzt spielt der DVBViewer GE die Datei ab, als würde sie live gesendet. So erzeugt man einen Privatsender :)

Wie erkennt man nun, ob Adressen aus freier Internet-Wildbahn für den DVBViewer GE verwertbar sind?

HTTP-Adressen, die einen reinen Transportstrom ohne das von Apple erfundene HLS-Drumherum liefern (so wie die Sender in der HbbTV-Liste aus dem DVBViewer GE-Paket), sind daran zu erkennen, dass sie die Dateiendung .ts enthalten. Öfters aber auch nicht. Einfacher ist es beim Streaming-System HLS: Die Adressen (URLs) fangen mit HTTP an und enthalten die Dateiendung .m3u8 - entweder ganz am Ende, oder vor einem Fragezeichen, auf das Parameter für den Server folgen. M3U8 ist ein Playlisten-Textformat. Es enthält Angaben zu den verfügbaren Streams oder ihren Segmenten.

Wer im Internet nach Begriffen wie "channels m3u8" oder nach Teilen von bereits bekannten Adressen sucht, wird schnell Adresssammlungen finden. Wirklich gut gepflegte gibt es jedoch kaum. Oft sind Adressen veraltet und funktionieren nicht mehr. Insbesondere illegale (d.h. vom Sender nicht selbst veranlasste oder genehmigte) Streaming-Angebote haben meist nur kurzzeitig Bestand. Um PayTV-Streams aus Internet-Grauzonen macht man besser einen Bogen.

RTMP-Adressen für Flash-Player kann man wie im obigen Beispiel erläutert probieren. Wenn es nach Anwahl des Senders Bild und Ton gibt, liefert der Server einen Transportstream. Falls nicht, löscht man den Eintrag mit einem Klick auf das Mülleimersymbol.

Wer detektivischen Ehrgeiz hat, kann auch versuchen, Adressen zu ermitteln, die Sender mit Live Streaming-Angebot auf ihrer Internet-Seite hinter Javascript und einem Flash Player verstecken. Bewährt hat sich dabei das Firefox Add-On User Agent Overrider, mit dem man veranlasst, dass sich der Browser als Safari unter iOS ausgibt. Dann sind die Seiten eher geneigt, Adressen für das Apple-System HLS zu offenbaren. Außerdem installiert man das Tool URL Snooper, das den Netzwerkverkehr mitliest und URLs herausfischt, konfiguriert den Protokoll-Filter so, dass er alle Adressen erfasst (nicht nur Multimedia) und trägt in der Zeile „Must Contain“ m3u ein. Dann startet man im Browser den Live Stream. Es muss dabei nicht unbedingt eine Wiedergabe zustande kommen. Wenn man Glück hat, erscheinen im URL Snooper nun m3u8-Adressen, die man im DVBViewer GE probieren kann.

Wer interessante Adressen findet, kann sie im DVBViewer Forum anderen zur Verfügung stellen. Die Moderatoren werden jedoch alles löschen, bei dem nicht eindeutig feststellbar ist, dass es sich um legale Angebote handelt!

Für sehr spezielle Zwecke besteht die Möglichkeit, der URL eine durch „?addhdr=“ eingeleitete „Query“ anzuhängen Den nachfolgenden Text fügt der DVBViewer GE dem HTTP Request Header hinzu, mit dem er den Stream beim Server anfordert (funktioniert auch bei Internetradio). So kann man zum Beispiel durch die Angabe „User-Agent:“ erreichen, dass der DVBViewer GE sich als ein bestimmter Browser ausgibt, was den Server eventuell veranlasst, andere Inhalte auszuliefern. Beispiel:

http....index.m3u8?addhdr=User-Agent: Mozilla/5.0 (Windows NT 6.3) DVBViewer GE 3.6

Die Djing-Musikkanäle in der HLS International-Senderliste werden auf diese Weise überredet, HD zu liefern. Mit dem Standard-User Agent „DVBViewer GE 3.6“ erhält man nur schnödes SD.

Falls die URL bereits durch ein Fragezeichen eingeleitete Queries enthält, darf man der eigenen Ergänzung kein weiteres Fragezeichen voranstellen, sondern muss das Zeichen & als Trenner verwenden. Sollen dem HTTP Request Header mittels „addhdr=“ mehrere Einträge hinzugefügt werden, so muss zwischen ihnen %0D%0A (Carriage Return und Linefeed) als Trenner stehen.

Der User-Agent kann übrigens auch mit dem Tweak „User Agent für Internet-TV/Radio“ (siehe Tweaker.exe) für den DVBViewer GE global eingestellt werden. Die oben beschriebene „Pro Sender“-Angabe hat jedoch Vorrang. Eine Internet-Suche nach User Agent ermittelt die Angaben für verschiedene Browser und Betriebssysteme.

Edited by Griga
Änderungen im DVBViewer GE 3.6.2

Share this post


Link to post
Griga

TS Stream-Einstellungen in der Senderliste

In den Eigenschaften von TS Stream-Senderlisteneinträgen gibt es Einstellungen, mit denen sich Probleme bei der Internet TV-Wiedergabe lösen oder spezielle Eigenschaften des HLS Streaming-Systems nutzen lassen. Das Eigenschaftsfenster wird aufgerufen, indem man den Sender in der Senderliste selektiert und den Butto unten links in der Symbolleiste anklickt.

Kümmern wir uns zunächst um die zwei Checkboxen PCR entfernen“ und „PTS-Sprünge ignorieren“. Sie dienen dazu, durch fehlerhafte Zeitangaben im Stream verursachte Probleme zu vermeiden. Diese Work Arounds sollten nur eingeschaltet sein, wenn nötig, da sie auch Nachteile haben:

  • PCR entfernen: Veranlasst den DVBViewer GE, die Zeitreferenz (Program Clock Reference) aus dem empfangenen Stream herauszupatchen. Notwendig ist das zum Beispiel bei Anixe TV. Die PCR des Senders ist extrem fehlerhaft. Sie passt überhaupt nicht zu den Video- und Audio-Zeitstempeln und läuft außerdem zu langsam. Dies lässt die Wiedergabe ruckeln oder verhindert sie ganz. Bei fehlender PCR nimmt der DVBViewer Filter die Audio-Zeitstempel als Referenz, und damit klappt es.
  • PTS-Sprünge ignorieren: Veranlasst den DVBViewer Filter, Video- und Audio-Zeitstempel zu ignorieren, die unmotiviert vor und zurückspringen, da sie sonst die Wiedergabe zum Erliegen bringen. Die Maßnahme kann helfen, wenn auf der Eigenschaftsseite des DVBViewer Filters in der Zeile "Last Error" ständig die Fehlerart "PCR/PTS Gap" hochgezählt wird - allerdings kann sie auch von Nachteil sein, wenn es zu Stream-Unterbrechungen kommt, weil dann die Behandlung der dadurch verursachten Zeitstempel-Lücke unterbleibt.

Wenn ein Internet TV-Sender empfangen wird (Signalanzeige in der Statuszeile 100%), aber die Wiedergabe nicht will, kann man probeweise einen Haken bei der einen, anderen oder beiden Checkbox setzen, auf Übernehmen klicken und den Sender neu anwählen. Es hilft nicht immer, aber oft. Manche Internet TV-Sender sind nur so wiedergebbar. Man erkennt sie in den dem DVBViewer-Paket beigefügten Senderlisten am Prozentzeichen % hinter dem Sendernamen.

Die Eingaben „Zeitversatz“ und „Max. Rate“ beziehen sich auf das Streaming-System HLS. Sie ermöglichen bei manchen Sendern einen Wiedergabebeginn mehrere Minuten in der Vergangenheit oder eine Begrenzung der maximalen Datenrate, indem man sie in Kilobit pro Sekunde (kbps) vorgibt. Um zu verstehen, wie das funktioniert, ist es nützlich, sich etwas mit dem Streaming-System HLS auszukennen. Hier einige technische Details:

Die HLS-Basis ist eine sogenannte Master-Playliste. Das ist eine M3U8-Datei, die die verfügbaren Streams eines Senders aufzählt. Sie gibt für jeden die benötigte Bandbreite (Bandwidth) in Bits pro Sekunde und häufig auch die Video-Auflösung an.

Bitte beachten: In den folgenden blauen Adressen ist hinter http ein Leerzeichen eingefügt, damit die bescheuerte Forum-Software sie nicht ruiniert. Wer die Adressen tatsächlich im Browser ausprobieren will, muss dort das Leerzeichen löschen!

Wer zum Beispiel über folgende Adresse

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/master.m3u8

die Master M3U8 des ZDF herunterlädt und hineinschaut, sieht folgende Aufzählung von Streams (gekürzt):

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=436000,RESOLUTION=480x272,CODECS="avc1.66.30, mp4a.40.2"

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/index_436_av-p.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=710000,RESOLUTION=640x360,CODECS="avc1.77.30, mp4a.40.2"

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/index_710_av-b.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1056000,RESOLUTION=852x480,CODECS="avc1.77.30, mp4a.40.2"

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/index_1056_av-p.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1456000,RESOLUTION=852x480,CODECS="avc1.77.30, mp4a.40.2"

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/index_1456_av-p.m3u8

Der HLS Player kann sich also Datenrate (Bandwidth) und Auflösung (Resolution) aussuchen. Standardmäßig wählt der DVBViewer GE den Stream mit der höchsten Qualität. Zu jedem Stream gehört eine Adresse, die auf eine weitere M3U8-Datei verweist (was an russische Matroschka-Puppen erinnert). Eine solche Media-Playliste kann man ebenfalls downloaden. Sie enthält zur Abwechslung eine Aufzählung von TS-Dateien mitsamt ihrer Dauer in Sekunden (gekürzt):

#EXTINF:10.000,

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/segment142267792_1456_av-p.ts

#EXTINF:10.000,

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/segment142267793_1456_av-p.ts

#EXTINF:10.000,

http ://zdf_hds_de-f.akamaihd.net/i/de14_v1@147090/segment142267794_1456_av-p.ts

Ein HLS Player ruft die TS-Segmente ab und setzt sie zu einem kontinuierlichen Stream zusammen. Außerdem muss er die Media-Playliste in regelmäßigen Abständen erneut herunterladen und nachschauen, ob dort inzwischen neue Segmente verzeichnet sind. Der Server entfernt laufend Teile am Anfang und fügt am Ende neue hinzu.

Die Media-Playlisten des ZDF geben 178 Segmente an, jedes 10 Sekunden lang. Der HLS Player kann also fast eine halbe Stunde vor der Live-Position mit der Wiedergabe beginnen. Der DVBViewer GE fängt wie von den HLS-Spezifikationen empfohlen standardmäßig mit dem drittletzten Segment an, womit er nicht allzu weit hinter der Live-Position zurückbleibt, aber reichlich Pufferraum hat, falls sich die Auslieferung neuer Segmente verzögert.

Wer sich zum Beispiel einen Senderlisteneintrag "ZDF vor 20 Minuten" basteln will, selektiert den normalen ZDF-Eintrag, ruft die Eigenschaften auf, trägt im Feld „Zeitversatz“ den Wert 20 ein, ändert den Sendernamen entsprechend und klickt auf Hinzufügen. Dann hat man etwas in der Hand, falls man für eine Sendung zu spät nach Hause kommt oder der PC, der für einen in Kürze beginnenden Film hochfahren soll, erst mal minutenlang Windows-Updates konfiguriert...

Doch wie kann man feststellen, wie viel „Vergangenheit“ ein Sender bereithält? Das Herunterladen der Media Playliste und Zählen der darin enthaltenen Segmente ist mühsam. Deshalb bietet das DVBViewer GE-Hauptfenster bei Wiedergabe eines HLS-Senders in der Kontrollleiste zwei Zeitangaben: Die aktuelle zeitliche Position beim Lesen der Segmente und die verfügbare Gesamtdauer. Beim Live-Empfang des ZDF lautet die Angabe 29:40 / 29:40. Wählt man den Senderlisteneintrag „ZDF vor 20 Minuten“ an, erscheint dort 10:40 / 29:40. Das allerdings nur, solange keine (Timeshift-)Aufnahme des Senders läuft. Dann zeigt der DVBViewer GE in der Kontrollleiste die von ihm selbst aufgenommene Dauer an.

Wer jetzt nachrechnet, wird erst mal protestieren: 10:40 / 29:40 ergibt nur 19 Minuten Differenz, nicht 20! Die Abweichung entsteht, weil der DVBViewer GE erhebliche Datenmengen vorab liest und puffert, wenn möglich. Damit die Wiedergabe weiterlaufen kann, wenn der Server eine Weile nichts liefert. Und bei einer in die Vergangenheit zurückversetzten Wiedergabeposition nutzt der DVBViewer GE die Gelegenheit, reichlich zu puffern. Ein Zeitversatz kann also auch dazu dienen, die Immunität gegen zeitweilige Stream-Unterbrechungen zu erhöhen.

Zurück zu den M3U8-Playlisten: Im Internet verbreitete Stream-Adressen beziehen sich manchmal auf eine Master- und manchmal auf eine Media-Playliste. Es ist dem DVBViewer GE ziemlich egal, welche Art man ihm vorsetzt. Er kann mit beiden umgehen. Nur nimmt die Adresse einer Media-Playliste die Stream-Auswahl und damit die Auflösung und Datenrate vorweg, so dass es keine Variationsmöglichkeit gibt.

Wenn es sich um eine Master-Playliste handelt, kann man dem DVBViewer GE eine Beschränkung der Datenrate befehlen, indem man in den Eigenschaften des Senders in der Zeile „Max. Rate“ zum Beispiel den Wert 1000 eingibt, auf Übernehmen klickt und den Sender neu anwählt. Der DVBViewer GE versucht dann, bei der Streamauswahl möglichst dicht an 1000 kbit/s = 1 Mbit/s heranzukommen, ohne die Vorgabe zu überschreiten. Beim ZDF erhält man so eine auf 640 x 360 verminderte Auflösung. Eine solche Reduzierung der Bildqualität macht natürlich nur Sinn, wenn man aus irgendeinem Grund gezwungen ist, mit einer niedrigen Datenrate auszukommen.

Die Angabe einer verringerten Rate kann sogar zur Auswahl eines Streams führen, der nur noch Audio enthält. In diesem Fall quartiert der DVBViewer GE den Sender automatisch in den Audiozweig des Senderlisten-Stammordners um. Es kann auch passieren, dass der Sender mit einer reduzierten Rate überhaupt nicht mehr funktioniert, weil der Server nur noch einen reinen Audiostream ohne TS-Verpackung liefert. Wer vorab wissen will, was bei einem Sender in dieser Hinsicht möglich ist, lädt am besten wie beschrieben mit einem Browser die Master Playliste herunter und schaut mit einem Editor hinein.

Dank an Tjod, der durch Vorschläge, Tests und Sammeln von Sender-URLs wesentlich dazu beigetragen hat, die Sache auf die Beine zu stellen!

  • Like 1

Share this post


Link to post
Guest
This topic is now closed to further replies.

×
×
  • Create New...