Wenn Du ein Video downloaden möchtest, das sich dem Download durch einen Video-Downloader entzieht oder wenn Du Dich für die Abläufe beim HTTP-Protokoll interessierst, dann solltest Du weiterlesen.

Im Zuge der Experimente mit Downloads von Videos aus TvTheken und anderen Video-Quellen wurden in diesem Blog folgende  Programme vorgestellt:

Betrüblich ist, dass manche Videos mit diesen Downloadern nicht herunter geladen werden können. Beispiele dazu sind das Wiener Stadtfernsehen w24 und Rapid-TV. 

Bei diesen Sendern wird der Pfad zu dem Stream nicht als Klartext angegeben, sondern durch JavaScript-Code zur Laufzeit generiert und daher meinen die Downloader, dass auf den Seiten kein Film wäre.

Was man also sucht, ist die konkrete Adresse des Video-Streams, der in JavaScript-Dateien versteckt ist. Ein Studium dieser JavaScript-Dateien ist sehr schwierig, weil der Quellcode in komprimierter Schreibweise vorliegt und daher schwer verständlich ist.

HTTP-Protokoll

Ruft man eine Webseite auf, erhält der Browser immer eine HTML-Datei. Wie das aber im Detail funktioniert, sieht man nicht. Browser und Server „unterhalten“ sich über das HTTP-Protokoll über leicht interpretierbare Textzeilen. Als Endbenutzer bekommt man diese Texte nie zu Gesicht.

Was passiert eigentlich, wenn ein Bild oder ein Video von einem Server geholt wird? Der Browser fordert vom Server die HTML-Datei der Seite an:

GET /pfad/datei.html HTTP/1.1
Host: videohost.xyz
…

Der Browser erhält die Datei, analysiert sie und findet in dieser Datei Links zu weiteren Objekten, die zur Darstellung nötig sind, also zum Beispiel Bilder, StyleSheets, Javascripts und eben auch Videos.

Alle in dieser HTML-Datei eingebetteten Dateien werden in der Reihenfolge ihres Aufrufs mit GET oder POST vom Server angefordert. Ganz egal, wie im Browser der Dateiname ermittelt wurde, letztlich muss der Name der Datei im Zuge des HTTP-Protokolls über die Leitung gehen.

HTTP-Analyzer

Zum Mitlesen des HTTP-Protokolls geeignet ist das Programm HTTP-Analyzer. Man startet das Programm, klickt auf Start. Ab diesem Zeitpunkt werden alle Seiten, die am eigenen Rechner über das HTTP-Protokoll aufgerufen worden sind, im HTTP-Analyzer mitprotokolliert. Dazu gehören nicht nur die Aufrufe im Browser sondern auch die von aktiven Cloud-Diensten wie OneDrive, GoogleDrive oder OwnCloud.

Man öf und öffnet die gewünschte Seite am Browser. Das ist alles. Alle Bestandteile der aufgerufenen Seite, das sind der Quellcode, Bilder, JavaScript, CSS und auch alle Videos werden in der Reihenfolge ihres Aufrufs Zeile für Zeile vom HTTP-Analyzer mitgeschrieben. Auch zum Aufspüren unerwünschter Aufrufe ist das Programm bestens geeignet.

Hier soll es um den Aufruf einer Fernsehsendung gehen. Es geht um die Folge 219 der „Rapidviertelstunde“: https://www.w24.at/Sendungen-A-Z/Rapid-Viertelstunde/Uebersicht?video=17855

Man ruft diese Adresse im Browser auf und erhält folgendes Bild:

Aufruf einer Sendung von w24

Dieses Ergebnis kann man sich als Textdatei oder Excel-Datei zum Analysieren herunterladen. Jede Zeile besteht aus vielen Elementen, wichtig sind der MIME-Typ und der Dateiname.

Beispiel Zeilen 2-10

2 UnStarred 00:05:44:678 True 0,156 s GET 200 292 application/* https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/playlist.m3u8
3 UnStarred 00:05:44:850 True 0,047 s GET 200 4,21 K application/* https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/chunklist_w941304624_b2173131.m3u8
4 UnStarred 00:05:44:912 True 2,313 s GET 200 2,72 M video https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/media_w941304624_b2173131_0.ts
6 UnStarred 00:05:47:365 True 3,360 s GET 200 2,51 M video https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/media_w941304624_b2173131_1.ts
8 UnStarred 00:05:50:787 True 2,156 s GET 200 2,62 M video https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/media_w941304624_b2173131_2.ts
9 UnStarred 00:05:53:006 True 2,156 s GET 200 2,70 M video https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/media_w941304624_b2173131_3.ts
10 UnStarred 00:05:55:209 True 2,219 s GET 200 2,50 M video https://ms02.w24.at/vodw24/smil:200403_W24_Rapid_Sendung219_K1.smil/media_w941304624_b2173131_4.ts

Man erkennt eine Zeile mit dem Dateityp .m3u8 und sieben Zeilen mit dem Dateityp .ts. .m3u8 ist eine Playlist und .ts ist ein Video-Stream. Der Video-Stream ist eine reine Textdatei, die die einzelnen Videos aufzählt. Diese Playlist-Datei ist eine Gebrauchsanweisung für den Video-Player, in welcher Reihenfolge die Videos zu verarbeiten sind.

Will man also die ganze Sendung aufzeichnen, ist die Playlist die richtige Adresse, will man nur einen Teil der Sendung aufzeichnen, verwendet man die Adresse eines der angegebenen Video-Streams.

Damit hat man das Problem aber auch schon gelöst. Man gibt die Adresse der Playlist in der eigenen Downloader ein, also zum Beispiel jDownloader oder YouTube-DLG und man bekommt dann ganz normal die Video-Datei, mit dem Umweg, dass man ihre Adresse über den HTTP-Sniffer ermitteln musste.

Mehrfacher Aufruf derselben Seite

Wenn man bei der Analyse einer Seite etwas vergessen haben sollte und danach die Seite noch einmal vom HTTP-Analyzer einliest, kann es passieren, dass der Browser gar nicht alle Dateien anfordert, weil er sie schon im Cache hat. In diesem Fall muss man alle Browserinstanzen schließen und die Seite danach noch einmal aufrufen oder man benutzt das Tastenkürzel Shift-F5.

Hinweise zum HTTP-Analyzer

Der HTTP-Analyzer kommt aus Shanghai, kann natürlich viel mehr als für diese Kleinigkeit der Bestimmung einer Adresse benötigt wird. Es ist für kommerzielle Nutzung kostenpflichtig. Dennoch kann man sich die Installationsdatei downloaden. Für das hier gezeigte Experiment kann man das Programm kostenlos nutzen.

Bei der Installation sind zwei Hürden zu beachten. Die Installationsdatei befindet sich in einem ZIP-Archiv und das ZIP-Archiv ist mit dem Kennwort ieanalyzer geschützt. 

Ruft man die entpackte Installationsdatei auf, bekommt man eine Fehlermeldung, die sagt, in der Datei befände sich ein Virus. Diese Meldung kommt vom Defender. Wahrscheinlich verhält sich das Installationsprogramm nicht so wie das Microsoft erwartet. Um diese Hürde zu umgehen, muss man – nur für diese Installation – in Windows -> Einstellungen -> Windows-Sicherheit -> Viren- und Bedrohungsschutz den Echtzeitschutz ausschalten und nach der Installation wieder einschalten.

HTTP-Analyzer (Homepage und Download)

Die ZIP-Datei heißt: HttpAnalyzerStd_V7.6.4.zip

Zur Werkzeugleiste springen