/me

2009-09-21 07:16:45 (UTC)

Arte-Stream rippen

Seit mein Fernseher vor einigen Wochen kaputt ging und weil
das Ersatzgerät permanent pfeift und quietscht, habe ich
seit Wochen nicht mehr ferngesehen.
Ich vermisse ARTE und 3sat. Glücklicherweise stellt ARTE
seine Beiträge online.

Neulich wollte ich einen Beitrag von arte.tv herunterladen,
um ihn später anzusehen. ARTE bietet die Option des
Herunterladens aber nicht an. Allerdings bietet der Firefox
Plugins wie den Downloadhelper, Adblock und NoScript an.
Der Downloadhelper ist hier allerdings unnütz, weil arte.tv
per default RTMP als Übertragungprotokoll benützt, wenn man
den Film auf der Website anschaut. Um rtmp:/ zu rippen,
gibt es eine Software namens rtmpdump. Man muß ihr,
theoretisch, nur die Adresse des Streams mitteilen und ihr
sagen, wo die Datei gespeichert werden soll.

Die Adresse herauszufinden ist nicht sonderlich schweirig.
Man läßt den Film einfach anlaufen, und klickt dann auf den
kleinen "Blockieren"-Button des Playerfensters, der
erscheint, wenn man den Mauszeiger in das Playerfenster
schiebt. Um diesen Button zu sehen, braucht man Noscript
(oder war es Adblockplus? Firebug sollte die Adresse auch
anzeigen. Zur Not sollte man erforderlichen Daten auch
mittels WIrshark erhalten können). Naja, jedenfalls zeigt
der Blockierer dann die Adresse an, die blockiert werden
soll und voila, diese Adresse könnten wir RTMPDUMP
übergeben und alles wäre gut. Nun verschleiert arte.tv die
Adresse jedoch indem es in *Teilen* der Adresse z.B. "/"
durch "/" ersetzt usw.

Das Ganze ist ziemlich fummelig. Die Optionen des RTMPDUMP
sind ebenfalls fummelig. Ich kam damit nicht zurecht,
außerdem brachte mir irgendwas die Konsole durcheinander.
Nachdem ich zwei Stunden mit der Suche und dem Ausprobieren
von Lösungen verbrachte, gin es mir nicht mehr um den FIlm,
sondern nur noch darum, diesen Scheiß-Stream zu rippen.Und
das gelang mir auch. Ohne RTMPDUMP. Es ist solides,
Handwerk, Web-1.0.

Wenn man einen Artestream rippen will, läßt man den
gewünschten Film anlaufen, öffnet den Quelltext der
Webseite und sieht in etwa das folgende:

[code]

script type="text/javascript"
var availableFormats = new Array();

availableFormats[0] = new Object();
availableFormats[0]["format"] = "FLV";
availableFormats[0]["quality"] = "MQ";
availableFormats[0]["url"]
= "rtmp://artestras.fcod.llnwd.net/[...]
availableFormats[0]["fileId"] = "2849914";
availableFormats[0]["trackingUri"]
= "/de/2838062,templateId= [...]

availableFormats[1] = new Object();
availableFormats[1]["format"] = "WMV";
availableFormats[1]["quality"] = "MQ";
availableFormats[1]["url"]
= "http://artestras.wmod.rd.llnw.net/geo/arte7[...]DE.wmv";
availableFormats[1]["fileId"] = "2849916";
availableFormats[1]["trackingUri"]
= "/de/2838062,templateId=countStats,noncache=true,[...]

[/schnipp]

/noscript

[/code]

Voila. Da stehen sie,m die Adressen. Im Quelltext der
Seite. Da sucht man sich dann das gewünschte heraus,
übergibt es an, sagen wir , den VLC-Player und weist den
an, den Stream aufzuzeichnen. Fertig.

Ok, das ist keine coole "Hacker"-Lösung, im Prinzip habe
ich einem externen Player ja die URL der Daten übergeben
und ihn angwiesen, diese Daten zu speichern. Und die URL
hatte ich aus dem Quelltext der Website.