Karl Heinz: Stream Adresse mit Firefox Entwicklertools ermitteln

Hallo,

der folgende Artikel beschreibt wie man Stream Adressen ermitteln kann:

https://wiki.ubuntuusers.de/Howto/Stream-Adressen_ermitteln/

In dem Artikel werden verschiedene Lösungen vorgestellt. Ich habe mich für folgende Lösung über den Firefox Browser entschieden:

Um im Firefox die Analyseansicht zu öffnen, navigiert man in der Menüleiste {de} zu "Extras → Web-Entwickler → Netzwerkanalyse" oder öffnet bei "Web-Entwickler" die "Entwickler-Symbolleiste" und wechselt zum Reiter "Netzwerkanalyse". Zur Letzteren kommt man aber auch, indem man ganz rechts in der Adressleiste {de} auf das Hamburger-Menü-Icon linke Maustaste-klickt und weiter auf "Entwickler-Werkzeuge → Netzwerkanalyse".

Die Netzwerkanalyse {de} erscheint am unteren Browserrand. Man lädt die Seite neu, um die Anfrage zu sehen: Liste der Netzwerkanfragen

Per Voreinstellung zeigt die Netzwerkanalyse eine Liste aller Netzwerkanfragen, die während des Ladens der Seite gemacht wurden. Jede Anfrage steht in einer eigenen Zeile. Nach Content-Typen filtern

In der zweitobersten Symbolleiste der Netzwerkanalyse kann man über die Schaltflächen Filter für die Anfragen erstellen, abhängig vom Content-Typ der Anfrage. Hier ist der Typ "Medien" relevant. In einer Zeile der so gefilterten Liste der Netzwerkanfragen klickt man jetzt mit der rechten Maustaste rechte Maustaste auf das Feld in der Spalte "Datei" und im sich demzufolge aufgeklappt habenden Kontextmenü mit der linken Maustaste linke Maustaste auf "Adresse kopieren". Damit befindet sich die Adresse der Medien-Datei in der Zwischenablage.

Nach diesem Verfahren habe ich für einen Sender folgende Live Stream URL identifziert:

https://lhr-1.firstonetv.net:4434/hls/3a889f72fc5d458393d96c64730b5211/1539032067/7b226970223a66616c73652c227561223a22416e64726f6964222c22726566223a22687474703a5c2f5c2f6d6f6264726f2e6d65227d/687474703a2f2f3138352d35392d3232312d3135362e6d6264722e63662f7032702f32393665353663363638626338626436623030343464336534663033343135332d323232332e7473.ts

Um zu testen ob die Live Stream URL korrekt ist habe ich diese im VLC-Player über "Medien / Netzwerkstream öffnen" hinzugefügt. Leider funktioniert es nicht. Hat jemand eine Ahnung was ich falsch mache? Siehe hierzu nachfolgende Fehlermeldung vom VLC-Player:

Viele Grüße

--
"Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen. Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."

akzeptierte Antworten

  1. Als Antwort kommt da nur "#te" mit dem Content-Type "text/html".

    Offensichtlich werden auch der richtige User-Agent und/oder ein "richtiger" Referer und/oder ein Cookie und/oder Post-Daten erwartet. Schau Dir den ursprünglichen Request noch mal genauer an. Die Header und die Daten werden ja auch angezeigt...

    1. @@Regina,

      Offensichtlich werden auch der richtige User-Agent und/oder ein "richtiger" Referer und/oder ein Cookie und/oder Post-Daten erwartet. Schau Dir den ursprünglichen Request noch mal genauer an. Die Header und die Daten werden ja auch angezeigt...

      Was genau meinst du bzw. wie hilft mir das?

      1. Wenn Du die Daten sendest, die Der Server erwartet, dann bekommst Du vielleicht Deinen Film. Die *.ts-Datei. Allerdings vermute ich, dass Du unter Linux noch libvdcss und handbrake brauchst um ihn ansehen zu können.

        In dem Sinn wundert mich auch nicht, dass ausgerechnet "#te" als Antwort kommt:

        Das steht in der IT für

        • "type enforcement" und, wohl humorvoll gemeint:
        • "test engineer" - übrigens auch für
        • "extraverted thinking"

        Humor haben die jedenfalls.

        1. @@Regina,

          Wenn Du die Daten sendest, die Der Server erwartet, dann bekommst Du vielleicht Deinen Film.

          Wie sende ich denn die Daten die der Server erwartet?

          Allerdings vermute ich, dass Du unter Linux noch libvdcss und handbrake brauchst um ihn ansehen zu können.

          Was ist das nun wieder?

          1. @@Regina,

            Wenn Du die Daten sendest, die Der Server erwartet, dann bekommst Du vielleicht Deinen Film.

            Wie sende ich denn die Daten die der Server erwartet?

            Mit z.B. wget oder in dem Du in den Firefox-Entwicklertools die Anfrage bearbeitest und neu sendest.

            Vielleicht geht es mit dem VideoDownloadHelper-Addon etwas einfacher…

            Allerdings vermute ich, dass Du unter Linux noch libvdcss und handbrake brauchst um ihn ansehen zu können.

            Was ist das nun wieder?

            Software. Das eine kann .ts-dateien entschlüsseln und das andere als mpeg oder was auch immer speichern.

            1. @@Regina,

              Vielleicht geht es mit dem VideoDownloadHelper-Addon etwas einfacher…

              Mit dem "Vielleicht" hast du goldrichtig gelegen. Der VideoDownloadHelper liefert mir folgende URL für den US-Stream:

              https://lhr-1.firstonetv.net:4434/hls/983e76c2248d0edeb1e332f67bbcce86/1539275487/7b226970223a66616c73652c227561223a22416e64726f6964222c22726566223a22687474703a5c2f5c2f6d6f6264726f2e6d65227d/687474703a2f2f3138352d35392d3232312d3135342e6d6264722e63662f7032702f32393665353663363638626338626436623030343464336534663033343135332e6d3375383f73743d7635436f58794b65647a59714744587a667569555f7726653d31353339323839383837.m3u8

              Starte ich diese URL über den VLC Player über "Stream öffnen" läuft es wunderbar.

              Eine Ahnung warum ich diese URL nicht über die Firefox Entwicklertools erhalten habe bzw. was ich da falsch gemacht habe?

              Seltsamerweiße läuft der Stream über den VLC-Player sogar dann los, wenn ich keine Verbindung zu einem US-VPN-Server hergestellt habe. Wie kann das sein? Im Browser läuft der Stream nur dann los, wenn ich eine Verbindung zu einem US-VPN-Server hergestellt habe. Den VLC-Player scheint das Geo-Blocking nicht zu interessieren.

              Noch cooler: Die Stream URL habe ich mit Hilfe von Dreambox Edit (per Wine auf Linux installiert) in meine Dreambox hinzugefügt (siehe nachfolgender Screenshot). Auf der Dreambox läuft ein Plugin welches sich mit Hilfe von NordVPN mit einem VPN-Server in den USA verbindet. Damit kann ich jetzt alle US Sender über meine Dreambox schauen. Coole Sache 😀.

              1. https://lhr-1.firstonetv.net:4434/….m3u8

                m3u8 - das ist eine Playlist. Ich weiß nicht wie viele Einträge die hat weil ich nur einen 404er bekomme - aber womöglich erfolgt die nachfolgende Anforderung des Streams dann unter Behaupten des richtigen Referer und oder User-Agenten.

                Eine Ahnung warum ich diese URL nicht über die Firefox Entwicklertools erhalten habe bzw. was ich da falsch gemacht habe?

                Möglicherweise hast Du die nur übersehen. Hast Du denn eingestellt, dass das im Fenster mit den abgerufenen Items nicht gelöscht wird?

                1. @@Regina,

                  m3u8 - das ist eine Playlist.

                  Woher weißt du das?

                  Eine Playlist ist doch etwas anderes als der Livestream oder?

                  Wenn ja, dann habe ich mir die Playlist angeschaut und nicht den Live Stream oder?

                  Vielleicht hat die Playlist KEIN Geoblocking sondern nur der Livestream. Kann das sein?

                  Ich weiß nicht wie viele Einträge die hat weil ich nur einen 404er bekomme

                  Bei mir klappt das plötzlich auch nicht mehr (weder über Browser noch über VLC-Player) ich erhalte folgende Meldungen:

                  Browser-Meldung:

                  VLC-Player-Meldung:

                  Ich glaube der Server des US Streams spielt einfach gerade etwas verrückt. Ich teste später erneut.

                  Eine Ahnung warum ich diese URL nicht über die Firefox Entwicklertools erhalten habe bzw. was ich da falsch gemacht habe?

                  Möglicherweise hast Du die nur übersehen. Hast Du denn eingestellt, dass das im Fenster mit den abgerufenen Items nicht gelöscht wird?

                  Wie kann ich denn einstellen, dass nichts gelöscht wird?

                  1. m3u8 - das ist eine Playlist.

                    Woher weißt du das?

                    Naja. Mit dem "wissen" ist das so eine Sache. Aber in einer Datei mit der Endung ".txt" erwarte ich auch Text und in einer mit der Endung ".m3u8" eben eine "erweiterte Playlist".

                    Aber wie das so ist, kann die Endung schlicht falsch sein. Dann schaut man auf den im Antwort-Header mitgesendeten Content-Type (das macht auch der Browser - nur alte IE's wohl nicht). Der Content-Type kann aber auch - als Folge des Bemühens der Admins und Programmierer - falsch sein. Es bleibt als ultimative Erkenntnisgewinnungsmethode nur der Blick in die Daten selbst. Vorher ahnt man es, dann weiß man es.

                    Wenn ja, dann habe ich mir die Playlist angeschaut und nicht den Live Stream oder?

                    Wenn Du ein geeignetes Programm mit einer geeigneten Playlist fütterst, dann verdaut es die Playlist. Folge: Es holt den Stream und Du guggst Film.

                    Ich glaube der Server des US Streams spielt einfach gerade etwas verrückt.

                    Mutmaßlich nicht. Vermutlich sind die URLs nur zeitlich beschränkt gültig. Damit die nicht in Foren verbreitet werden.

                    Möglicherweise hast Du die nur übersehen. Hast Du denn eingestellt, dass das im Fenster mit den abgerufenen Items nicht gelöscht wird?

                    Wie kann ich denn einstellen, dass nichts gelöscht wird?

                    Bei mir ist es so: Eine Zeile unter der Menüleiste der Entwicklertools, recht weit rechts findet sich das hier:

                    1. @@Regina,

                      m3u8 - das ist eine Playlist.

                      Woher weißt du das?

                      Naja. Mit dem "wissen" ist das so eine Sache. Aber in einer Datei mit der Endung ".txt" erwarte ich auch Text und in einer mit der Endung ".m3u8" eben eine "erweiterte Playlist".

                      Was ist denn der Unterschied zwischen einem Stream und einer Playlist? Irgendwie habe ich den Eindruck das diese beiden Begriffe hier synonym verwendet werden?

                      Ich glaube der Server des US Streams spielt einfach gerade etwas verrückt.

                      Mutmaßlich nicht. Vermutlich sind die URLs nur zeitlich beschränkt gültig. Damit die nicht in Foren verbreitet werden.

                      Der Browser und der VLC-Player spielen den Stream nichtmehr ab. Die Dreambox spielt den Stream nach wie vor tadellos ab. Das bedeutet die URL ist zeitlich nicht beschränkt, sonst dürfte sie in der Dreambox nichtmehr funktionieren.

                      Wie kann es sein das die URL auf der Dreambox weiterhin läuft, im Browser und VLC-Player hingegen nichtmehr?

                      1. Was ist denn der Unterschied zwischen einem Stream und einer Playlist? Irgendwie habe ich den Eindruck das diese beiden Begriffe hier synonym verwendet werden?

                        Stream: Video- oder Musik-Daten in einem binären (nicht "menschenlesbaren") Fileformat, welches sich stückchenweise (tatsächlich: "blockweise", die Blöcke sind aber klein) übertragen und (hoffentlich) abspielen lässt.

                        Playlist: Menschen- und maschinenlesbare Textdatei, die ein, kein oder mehrere Einträge, im wesentlichen mit dem Titel und der Quelle (URL, muss nicht mit "http[s]://" beginnen) des Streams oder einer Datei enthält.

                        Bekommt Dein Brower mit, dass das Resultat seiner Bemühungen, von einem Server eine Antwort zu erhalten, eine Playlist ist, dann übergibt er (je nach Konfiguration und Können) die Playlist an ein Programm, welches die Playlist auswertet, also den Stream abholt und abspielt.

                        Unbedarfte Nutzer bekommen das, auch um deren Verwirrung und Verängstigung zu vermeiden, nur nicht in allen Einzelheiten angezeigt.

  2. Vermutlich hast Du eben nicht den Stream sondern die Playlist erwischt 😉

    Tipp: Mach ein Socket auf und lese ein Stück (z.b. 100 bytes) aus dem Stream. Dann siehst Du ja ob der Codex stimmt (z.B. mp3).

    MfG

    1. @@pl,

      Vermutlich hast Du eben nicht den Stream sondern die Playlist erwischt 😉

      Wie kommst du darauf?

      Tipp: Mach ein Socket auf und lese ein Stück (z.b. 100 bytes) aus dem Stream. Dann siehst Du ja ob der Codex stimmt (z.B. mp3).

      Wie mache ich denn einen Socket auf und lese daraus?

      1. Vermutlich hast Du eben nicht den Stream sondern die Playlist erwischt 😉

        Wie kommst du darauf?

        Jedenfalls hat PL es nicht probiert, sondern tief in dichtem Nebel gestochert.

      2. hi

        Vermutlich hast Du eben nicht den Stream sondern die Playlist erwischt 😉

        Wie kommst du darauf?

        Weil mir das laufend passiert wenn ich den URL für eine vermeintliche Streamquelle von shoutcast.com kopiere.

        Tipp: Mach ein Socket auf und lese ein Stück (z.b. 100 bytes) aus dem Stream. Dann siehst Du ja ob der Codex stimmt (z.B. mp3).

        Wie mache ich denn einen Socket auf und lese daraus?

        Z.B. mit dem Browser. Oder halt mit der PL Deiner Wahl. MfG

        1. @@pl,

          Z.B. mit dem Browser.

          Und wie genau?

          Oder halt mit der PL Deiner Wahl.

          Wofür steht PL?

          1. @@pl,

            Z.B. mit dem Browser.

            Und wie genau?

            URL in Adresszeile eingeben.

            Oder halt mit der PL Deiner Wahl.

            Wofür steht PL?

            Programmin' Language

            MfG