ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Streams speichern

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/multimedia.png Häufig werden im Internet Multimedia-Inhalte im sog. Streaming-Verfahren angeboten. Vor allem Filmtrailer oder Hörbeispiele für Musik, aber auch Interviews werden dabei meist in der Internetseite eingebettet abgespielt. Dies soll zum einen gewährleisten, dass ein Benutzer länger auf der Seite bleibt und sich vielleicht noch weitere Inhalte anschaut. Zum anderen möchte man so auch die dauerhafte Speicherung der Medien durch den Konsumenten verhindern.

"Da Streaming Media speziell für Echtzeit-Übertragungen und nicht für die dauerhafte Speicherung gedacht ist, muss die Qualität entsprechend niedrig sein, um bei den heute üblichen Datenübertragungsraten eine flüssige Übertragung zu ermöglichen. Ärgerlich ist daher die Verwendung der Streaming-Technologie bei Inhalten, bei denen es nicht auf eine Echtzeit-Übertragung ankommt, etwa bei Film-Trailern." (aus Wikipedia, der freien Enzyklopädie)

Hinweis:

Dieser Artikel behandelt nur das Speichern von Video-Streams oder mms-Audiostreams. Für die Aufnahme von Internetradio gibt es den Artikel Internetradio aufzeichnen.

Herausfinden der Streamadresse

Möchte man Internetstreams dauerhaft speichern, so muss man zunächst die Adresse herausfinden, unter der der Inhalt abgelegt ist. Die allermeisten Streams liegen in einem weit verbreiteten Format, wie etwa avi, mov oder wmv vor. Die Adressen zu diesen Inhalten liegen jedoch in den seltensten Fällen offen vor. Meist wird auf eine Streaming-URL verwiesen, die dafür sorgt, dass das entsprechende Plugin zum Abspielen aufgerufen wird. Um die Adresse herauszufinden hat man folgende Möglichkeiten:

  • Die Adresse kann im Quelltext der Internetseite aufgeführt sein

  • Beim Abspielen des Streams wird die Adresse (kurzzeitig) angezeigt

  • Beim Abspielen durch das Totem-Plug-in (siehe Streaming) kann die Adresse per rechte Maustaste-Klick"→Kopieren" in die Zwischenablage eingefügt werden

  • Man kann die Firefox-Erweiterung MediaPlayerConnectivity {de} / {en} verwenden

  • Man kann auch die Firefox-Erweiterung Adblock Plus verwenden, hierbei im FF unter "Ansicht" auf "Adblock Plus: Elemente der geöffneten Seite" klicken

Wichtig ist hierbei, dass die Adresse die Endung eines gültigen Videoformats wie z.B. .mov oder .wmv hat. Beginnt die Adresse darüber hinaus mit http://, so handelt es sich um eine normale Internet-URL. Hat die Adresse jedoch den Anfang mms:// oder rtsp://, so deutet dies auf eine Streaming-URL hin, bei der die "wahre" Adresse versteckt ist.

  • mms:// - deutet auf ein Microsoft-Format, meist wmv hin

  • rtsp:// - deutet auf eine Datei im Real-Media Format hin, meist rm

  • rtmp:// (usw.) - deutet auf einen Stream im Real Time Messaging Protocol (RTMP) hin

Bei URLs mit der Endung .asx handelt es sich um eine Container-Datei, in welcher sich wiederum eine mms://-Datei befindet. Man erhält die Adresse der mms://-Datei entweder, indem man die URL mit der .asx-Endung direkt in den Browser eingibt. Oder man kann die Datei mit einem Download-Manager herunterladen, sie dann mit einem Text-Editor öffnen und sieht die Adresse der mms://-Datei. Ähnlich verhält es sich auch mit den beiden Container-Dateien .mov und .smil.

Es kommt auch vor, dass sich die Adresse in einer URL mit der Endung .xml versteckt, welche man dann direkt in den Browser eingibt und in der Ausgabe entweder direkt die Adresse sieht oder aber vielleicht auch eine weitere .xml-URL.

Eine weite Variante sind URLs mit der Endung .m3u8. Sie sind Bestandteil des HTTP Live Streaming Protocols, auch HLS abgekürzt. Die .m3u8 Datei funktioniert als dynamische Playliste bzw. Container Datei, die Links auf weitere .m3u8 Dateien für Streams in verschiedener Bitrate enthält. Die Container für die unterschiedlichen Bandbreiten enthalten einfache Links zu den segmentierten Dateien im .ts Format, die vom Client nacheinander heruntergeladen werden.

Videos herunterladen

Hat man die Adresse herausgefunden, dann sollte der Download funktionieren. Bei normalen HTTP-Adressen kann man die Datei mit einem Download-Manager herunterladen. Videos aus einer Streaming-URL lassen sich in vielen Fällen mit dem MPlayer herunterladen. Das gleiche gilt auch für URLs mit der Endung .asx (siehe dazu auch hier). Videos aus einer Streaming-URL mit rtmp:// lassen sich oft mit den beiden Programmen flvstreamer bzw. rtmpdump (sie haben nahezu die identische Befehls-Syntax, ersteres ist aber weniger leistungsfähig) downloaden. Diese können über die Paketquellen von Ubuntu bezogen werden.

Für flvstreamer muss das folgende Paket installiert werden:[1]

  • flvstreamer (universe - command-line RTMP client)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install flvstreamer 

sudo aptitude install flvstreamer 

Für rtmpdump muss das folgende Paket installiert werden:[1]

  • rtmpdump (universe - A small dumper for media content streamed over the RTMP protocol)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install rtmpdump 

sudo aptitude install rtmpdump 

In diesem Paket befindet sich ebenfalls das Programm rtmpgw, welches ein HTTP-RTMP Stream Gateway ist. Für Näheres siehe bitte den Artikel Internet-TV/Stationen.

Für rtmpdump siehe beispielsweise #Streaming-Videos-von-der-ARD-Mediathek-laden.

Streaming und Umwandlung mit VLC

Mit dem VLC Player kann man eine Stream speichern und gleichzeitig in eine Videoformat umwandeln. Über "Medien -> Konvertieren/Speichern" kommt man zum Reiter "Netzwerk", wo man die Stream-Adresse einträgt. Nach dem Klick auf "Konvertieren/Speichern" öffnet sich ein Fenster, in dem man den Speicherort und das gewünschte Videoformat auswählen kann. Da der Stream umgewandelt wird, dauert der Vorgang mitunter recht lange.

Streaming-Videos, Live-Streams oder mms-Audiostreams speichern

Das Speichern von Streaming-Videos, Live-Streams oder mms-Audiostreams wird mit einem Befehl für MPlayer über ein Terminal[3] ausgeführt. Die Befehlszeile lautet

  • bei direkten mms://-Dateien

mplayer -dumpstream mms://example.com/Globalplayers/GP_14.wmv -dumpfile ./download/test.wmv 

Die Adresse des Streams mms://example.com/Globalplayers/GP_14.wmv ist frei erfunden und nur ein Beispiel. Diese .wmv-Datei würde nun als test.wmv im Verzeichnis /download innerhalb des Home-Verzeichnisses des aktuell angemeldeten Benutzers gespeichert.

  • Bei indirekten mms://-Dateien (URLs mit der Endung .asx) lautet dagegen die Befehlszeile

mplayer -playlist Streaming-Adresse.asx -dumpstream -dumpfile Dateipfad.wmv 


Manchmal erhält man während der Speicherung die Meldung:

Stream not seekable!

Dies bedeutet jedoch nicht, dass das Herunterladen nicht funktioniert. Je nach Größe der Datei dauert es eine Weile bis sich wieder etwas tut. Ist das Video komplett gespeichert, dann erhält man die Meldung:

Everything done. Thank you for downloading a media file containing proprietary and patented technology.
Core dumped ;)

Exiting... (End of file)

Zum Speichern von mms://-Streams können auch die Kommandozeilen-Programme mimms und mmsrip genutzt werden.

Zum Speichern von rtmp://-Streams siehe auch z.B. den Abschnitt Den deutschen-ARTE-Live-Stream speichern.

Beispiele

Streaming-Videos von der ARD-Mediathek laden

In der ARD-Mediathek {de} liegt ein täglich aktualisiertes Repertoire an Sendungen und Kurzbeiträgen, welches man mit den beiden Programmen flvstreamer bzw. rtmpdump (sie haben nahezu die identische Befehls-Syntax) herunter laden kann. Man ruft einfach den gewünschten Beitrag auf und sieht sich dann den Quelltext der Internetseite an. Darin steht dann z.B. u.a.:

1. Möglichkeit

Beispiel-Seite(n):

  • http://programm.ard-digital.de/Themenschwerpunkte/Film/Klaus-Kinski-zum-20-Todestag

  • http://www.einsfestival.de/dokumentation_reportage/highlights/2011/kw_42/klaus_kinski.jsp

  • http://www.ardmediathek.de/ard/servlet/content/3517136?documentId=8474414

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<script type="text/javascript">

                    var player;
                    var mediaCollection;
                    var playerConfiguration;

					$jPlayer(document).ready(function(){
						mediaCollection = new MediaCollection("video", false, 1);
					    
					    
                       
						
						mediaCollection.setPreviewImage("/ard/servlet/contentblob/84/74/42/00/8474420/bild/213777");
						

                        
                        mediaCollection.addMedia(0)
						mediaCollection.addMediaStream(0, 1, "rtmp://swr.fcod.llnwd.net/a4332/e6/", "mp4:swr-fernsehen/nachtkultur/2011/10/489308.m");
						mediaCollection.addMediaStream(0, 2, "rtmp://swr.fcod.llnwd.net/a4332/e6/", "mp4:swr-fernsehen/nachtkultur/2011/10/489308.l");
						
                        mediaCollection.addMedia(2)
						mediaCollection.addMediaStream(2, 1, "", "mms://wm-ondemand.swr.de/a4332/e6/swr-fernsehen/nachtkultur/2011/10/489308.m.wmv");
						

                        playerConfiguration = new PlayerConfiguration();
                        // playerConfiguration.setRepresentation(quality, width, height, inLayer, scale)
                        
                            // video
                            playerConfiguration.setRepresentation(0, 512, 288, false, true);
                            playerConfiguration.setRepresentation(1, 512, 288, false, true);
                            playerConfiguration.setRepresentation(2, 960, 544, true, true);
                            playerConfiguration.setRepresentation(3, 1280, 720, true, true);
                        

                        playerConfiguration.setShowToobarQualNavButtons(false);

                        player = new Player("player-8474414", playerConfiguration, mediaCollection);
						player.init();
                       if($jPlayer(document).getUrlParam("currentTimeCode")!= null){
                        var vm = new ViteMessage(player, playerConfiguration, mediaCollection, $jPlayer(document).getUrlParam("currentTimeCode"));
                    }

					});
			</script>

			<div id="player-8474414"></div>
		</div>
      		<div class="mt-player-content_wrapper">
        		<div class="mt-player_content">
  • In Zeile 19 steht die Roh-Streamadresse des Large-Streams (da drüber die in Middle-Qualität): "rtmp://swr.fcod.llnwd.net/a4332/e6/", "mp4:swr-fernsehen/nachtkultur/2011/10/489308.l".

  • Aus dieser entfernt man die Zeichenfolge ", " und hat dann die fertige Streamadresse: "rtmp://swr.fcod.llnwd.net/a4332/e6/mp4:swr-fernsehen/nachtkultur/2011/10/489308.l .

  • Nun ruft man ein Terminal[3] auf und gibt die Streaming-Adresse sowie den Dateipfad zum Speichern in folgender Reihenfolge an:

rtmpdump -z -r "rtmp://swr.fcod.llnwd.net/a4332/e6/mp4:swr-fernsehen/nachtkultur/2011/10/489308.l" -o "$HOME/Videos/Kinski.flv" --resume 

Hinweis:

  • Die Option -z bzw. --debug ist nicht unbedingt nötig. Sie kann aber bei Misslingen des Downloads Hinweise auf die Fehler-Quellen geben.

  • Die Option -e bzw. --resume ist ebenfalls nicht unbedingt nötig. Sie sorgt aber ggf. für den Download in mehreren Teilen.


2. Möglichkeit

Beispiel-Seite: http://www.ardmediathek.de/ard/servlet/content/3517136?documentId=8619708

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<script type="text/javascript">

                    var player;
                    var mediaCollection;
                    var playerConfiguration;

					$jPlayer(document).ready(function(){
						mediaCollection = new MediaCollection("video", false, 1);
					    
					    
                       
						mediaCollection.setSubtitleUrl("http://www.ard.de/static/avportal/untertitel_mediathek/8619708.xml", 0);
						
						mediaCollection.setPreviewImage("/ard/servlet/contentblob/86/19/72/20/8619722/bild/231711");
						

                        
                        mediaCollection.addMedia(0)
						mediaCollection.addMediaStream(0, 0, "rtmp://vod.daserste.de/ardfs/", "mp4:videoportal/mediathek/ttt+-+titel+thesen+temperamente/c_200000/205956/format241403.f4v?sen=ttt+-+titel+thesen+temperamente&for=Web-S&clip=Klaus+Kinski+-+Pionier+der+Selbstvermarktung&mediathek=ardmediathek");
						mediaCollection.addMediaStream(0, 1, "rtmp://vod.daserste.de/ardfs/", "mp4:videoportal/mediathek/ttt+-+titel+thesen+temperamente/c_200000/205956/format241402.f4v?sen=ttt+-+titel+thesen+temperamente&for=Web-M&clip=Klaus+Kinski+-+Pionier+der+Selbstvermarktung&mediathek=ardmediathek");
						mediaCollection.addMediaStream(0, 2, "rtmp://vod.daserste.de/ardfs/", "mp4:videoportal/mediathek/ttt+-+titel+thesen+temperamente/c_200000/205956/format241418.f4v?sen=ttt+-+titel+thesen+temperamente&for=Web-L&clip=Klaus+Kinski+-+Pionier+der+Selbstvermarktung&mediathek=ardmediathek");
						

                        playerConfiguration = new PlayerConfiguration();
                        // playerConfiguration.setRepresentation(quality, width, height, inLayer, scale)
                        
                            // video
                            playerConfiguration.setRepresentation(0, 512, 288, false, true);
                            playerConfiguration.setRepresentation(1, 512, 288, false, true);
                            playerConfiguration.setRepresentation(2, 960, 544, true, true);
                            playerConfiguration.setRepresentation(3, 1280, 720, true, true);
                        

                        playerConfiguration.setShowToobarQualNavButtons(false);

                        player = new Player("player-8619708", playerConfiguration, mediaCollection);
						player.init();
                       if($jPlayer(document).getUrlParam("currentTimeCode")!= null){
                        var vm = new ViteMessage(player, playerConfiguration, mediaCollection, $jPlayer(document).getUrlParam("currentTimeCode"));
                    }

					});
			</script>
			<div id="player-8619708"></div>
		</div>
      		<div class="mt-player-content_wrapper">
        		<div class="mt-player_content">
  • In Zeile 21 steht die Roh-Streamadresse des Large-Streams (da drüber stehen die in Middle- und Small-Qualität): "rtmp://vod.daserste.de/ardfs/", "mp4:videoportal/mediathek/ttt+-+titel+thesen+temperamente/c_200000/205956/format241418.f4v?sen=ttt+-+titel+thesen+temperamente&for=Web-L&clip=Klaus+Kinski+-+Pionier+der+Selbstvermarktung&mediathek=ardmediathek".

  • Aus dieser entfernt man die Zeichenfolge ", " und verschiebt das mp4: um eine Ebene nach rechts.

  • Dann hat man die fertige Streamadresse: "rtmp://vod.daserste.de/ardfs/videoportal/mp4:mediathek/ttt+-+titel+thesen+temperamente/c_200000/205956/format241418.f4v?sen=ttt+-+titel+thesen+temperamente&for=Web-L&clip=Klaus+Kinski+-+Pionier+der+Selbstvermarktung&mediathek=ardmediathek" .

  • Nun ruft man ein Terminal [3] auf und gibt die Streaming-Adresse sowie den Dateipfad zum Speichern in folgender Reihenfolge an:

    rtmpdump -r "rtmp://vod.daserste.de/ardfs/videoportal/mp4:mediathek/ttt+-+titel+thesen+temperamente/c_200000/205956/format241418.f4v?sen=ttt+-+titel+thesen+temperamente&for=Web-L&clip=Klaus+Kinski+-+Pionier+der+Selbstvermarktung&mediathek=ardmediathek" -o "$HOME/Videos/Klaus+Kinski+-+Pionier+der+Selbstvermarktung.flv" -V 

Hinweis:

  • Die Option -V bzw. --verbose ist nicht unbedingt nötig. Sie kann aber bei Misslingen des Downloads Hinweise auf die Fehler-Quellen geben.

  • Die Option -e bzw. --resume ist ebenfalls nicht unbedingt nötig. Sie sorgt aber ggf. für den Download in mehreren Teilen. In diesem Beispiel führt sie dazu, dass der Download schon vor dem Starten abgebrochen wird.

3. Möglichkeit

Beispiel-Seite: http://mediathek.daserste.de/sendungen_a-z/1858312_satire-gipfel/12863662_nuhr-2012-der-jahresrueckblick?buchstabe=S

curl installieren

  • curl (universe - transfer a URL)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install curl 

sudo aptitude install curl 

folgendes Bookmarklet installieren (ein Lesezeichen erstellen mit folgedem JavaScript Code als einzeilige Linkadresse)

javascript:(function(){s=document.getElementsByTagName('script'); t=''; for (i=0;i<s.length;++i){if (s[i].innerHTML.indexOf('mediaCollection.addMediaStream') !== -1) t=s[i].innerHTML; } p=/mediaCollection.addMediaStream.0, 2, "rtmp:..vod.daserste.de\/ardfs\/., .mp4:videoportal.mediathek.([^"]*).mp4/; m=p.exec(t); t=document.getElementsByClassName("boxTopHeadline")[0].innerHTML; r='curl rtmp://vod.daserste.de/ardfs/videoportal/mp4:mediathek/'+m[1]+'.mp4 -o "'+t+'.mp4"'; window.prompt ("Copy to clipboard: Ctrl+C, Enter", r); })();

Text im Popup in die Konsole kopieren und herunterladen.

Die Live-Stream des MDR-Fernsehens speichern

Die Live-Streams des MDR-Fernsehens findet man in der MDR-Mediathek, mit einer Auflösung von 512x288. Das Speichern der Live-Streams des MDR-Fernsehens wird mit einem Befehl über ein Terminal[3] ausgeführt. Die Befehlszeile lautet

  • bei MDR Sachsen

rtmpdump -r "rtmp://x4030mdrtvsacc22033.f.l.f.lb.core-cdn.net/22033mdr" -y "live/4030mdrtvsac/live_de_500" -o "$HOME/Videos/MDR-TV-Live-Stream_Sachsen.mp4" --live 
  • bei MDR Sachsen-Anhalt

rtmpdump -r "rtmp://x4031mdrtvsahc22033.f.l.f.lb.core-cdn.net/22033mdr" -y "live/4031mdrtvsah/live_de_500" -o "$HOME/Videos/MDR-TV-Live-Stream_Sachsen-Anhalt.mp4" --live 
  • bei MDR Thüringen

rtmpdump -r "rtmp://x4032mdrtvthuc22033.f.l.f.lb.core-cdn.net/22033mdr" -y "live/4032mdrtvthu/live_de_500" -o "$HOME/Videos/MDR-TV-Live-Stream_Thüringen.mp4" --live 

Die Option -o übergibt dabei den Dateipfad zum Speichern der Live-Streams des MDR-Fernsehens.

Hinweis:

Weitere URLs zu den Live-Streams des MDR-Fernsehens sind im Artikel Internet-TV/Stationen.

Streaming-Videos vom WDR laden

Als Beispiel soll die Webseite der Sendung Quarks & Co dienen. Obwohl hier ein Video zum Download angeboten wird, so ist die Qualität der mitgeschnittenen Streaming-Datei deutlich besser bzw. macht beim Abspielen deutlich weniger Probleme.

  • Quelltext der Sendung vom 2012-03-15

  • Im Quelltext nach rtmp im Kombination mit mp4 suchen

  • Die Streaming-Adresse

    rtmp://gffstream.fcod.llnwd.net/a792/e2/mediendb/quarks/video/2012/0313/120312_sendung_neu_web-m.mp4

    extrahiert man aus der Zeile 388: <a href="?startArchiv=1&tab=archiv&startPicture=/bilder/mediendb/quarks/Bilder/2012/0313/120312_ganze_sendung.jpg&dslSrc=rtmp://gffstream.fcod.llnwd.net/a792/e2/mediendb/quarks/video/2012/0313/120312_sendung_neu_web-m.mp4&overlayPic=/tv/quarks/codebase/img/overlay_video.png&offset=null&red=fsstd-tv%2Fquarks&base=/tv/quarks/codebase/video/&isdnSrc=rtmp://gffstream.fcod.llnwd.net/a792/e2/mediendb/quarks/video/2012/0313/120312_sendung_neu_web-s.mp4">. Die Adresse für DSL streamt mit höherer Qualität als die Adresse für ISDN.

  • Einfacher geht es mit einem Rechtsklick rechte Maustaste über dem Video-Banner und dann Linksklick linke Maustaste auf "Link-Adresse kopieren".

  • Nun ruft man ein Terminal[3] auf und gibt die Streaming-Adresse sowie den Dateipfad zum Speichern in folgender Reihenfolge an:

    rtmpdump -r "rtmp://gffstream.fcod.llnwd.net/a792/e2/mediendb/quarks/video/2012/0313/120312_sendung_neu_web-m.mp4" -o $HOME/Videos/quarks_video_2012_0313_120312_sendung_neu_web-m.mp4 --resume -V 

Hinweis:

  • Die Option -V bzw. --verbose ist nicht unbedingt nötig. Sie kann aber bei Misslingen des Downloads Hinweise auf die Fehler-Quellen geben.

  • Die Option -e bzw. --resume ist ebenfalls nicht unbedingt nötig. Sie sorgt aber ggf. für den Download in mehreren Teilen. Falls der Download misslingt, so könnte aber genau diese Option daran Schuld sein.

Streaming-Videos von der ZDF-Mediathek laden

In der ZDF-Mediathek {de} liegt ein täglich aktualisiertes Repertoire an Sendungen und Kurzbeiträgen. Um es herunterzuladen gibt es – je nachdem welche der beiden Versionen der Mediathek man wählt – zwei Möglichkeiten:

1. Möglichkeit

HTML-Version {de}: Herunterladen mit MPlayer: Man ruft einfach den gewünschten Beitrag auf und findet dann unten auf der Seite zwei Formate zur Auswahl. Mit einem Rechtsklick über "Windows Media Player / DSL 2000 -> Abspielen" kopiert man die Streaming-Adresse *.asx in die Zwischenablage. Anschließend ruft man ein Terminal[3] auf und gibt die Streaming-Adresse sowie den Dateipfad zum Speichern in folgender Reihenfolge an:

mplayer -playlist Streaming-Adresse.asx -dumpstream -dumpfile Dateipfad.wmv 


2. Möglichkeit

Flash-Version {de}: Hier sind die Videos qualitativ noch etwas hochwertiger und liegen außerdem u.a. im mp4-Format vor. Man benötigt die Firefox-Erweiterung Adblock Plus, hierbei im FF unter "Ansicht" auf "Adblock Plus: Elemente der geöffneten Seite" klicken.

  • Beispiel-Seite: Checkliste: Urlaubsrechte und -Pflichten

  • Die Seite muss soweit geladen sein, dass das Video abgespielt wird

  • Unten im Adblock Plus-Fenster ist u.a. auch die Objekt-Anfrage-URL http://www.zdf.de/ZDFmediathek/xmlservice/web/beitragsDetails?id=1639964&ak=web aufgeführt

  • Durch einen Mittelklick mittlere Maustaste hierauf öffnet man diese URL nun in einem neuen Browser-Tab

  • Ausschnitt aus dem angezeigten XML-Code, ziemlich unten:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<formitaet basetype="h264_aac_mp4_http_na_na" isDownload="false">
<quality>high</quality><url>
http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_h.mp4
</url>
<ratio>16:9</ratio>
<height>240</height>
<width>432</width>
<videoBitrate>480000</videoBitrate>
<audioBitrate>56000</audioBitrate>
<filesize>4043432</filesize><facets>
<facet>restriction_useragent</facet>
</facets>
</formitaet><formitaet basetype="h264_aac_mp4_http_na_na" isDownload="false">
<quality>veryhigh</quality><url>
http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_vh.mp4
</url>
<ratio>16:9</ratio>
<height>480</height>
<width>852</width>
<videoBitrate>1500000</videoBitrate>
<audioBitrate>96000</audioBitrate>
<filesize>11884937</filesize><facets>
<facet>restriction_useragent</facet>
</facets>
</formitaet><formitaet basetype="h264_aac_3gp_http_na_na" isDownload="false">
<quality>low</quality><url>
http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_m4l.3gp
</url>
<ratio>16:9</ratio>
<height>136</height>
<width>240</width>
<videoBitrate>68000</videoBitrate>
<audioBitrate>56000</audioBitrate>
<filesize>1086006</filesize><facets>
<facet>restriction_useragent</facet>
</facets>
</formitaet><formitaet basetype="h264_aac_3gp_http_na_na" isDownload="false">
<quality>med</quality><url>
http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_m4m.3gp
</url>
<ratio>16:9</ratio>
<height>176</height>
<width>320</width>
<videoBitrate>133000</videoBitrate>
<audioBitrate>56000</audioBitrate>
<filesize>1560409</filesize><facets>
<facet>restriction_useragent</facet>
</facets>
</formitaet><formitaet basetype="h264_aac_3gp_http_na_na" isDownload="false">
<quality>high</quality><url>
http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_m4h.3gp
</url>
<ratio>16:9</ratio>
<height>176</height>
<width>320</width>
<videoBitrate>186000</videoBitrate>
<audioBitrate>56000</audioBitrate>
<filesize>1941371</filesize><facets>
<facet>restriction_useragent</facet>
</facets>
</formitaet><formitaet basetype="h264_aac_3gp_http_na_na" isDownload="false">
<quality>veryhigh</quality><url>
http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_m4vh.3gp
</url>
<ratio>16:9</ratio>
<height>272</height>
<width>480</width>
<videoBitrate>380000</videoBitrate>
<audioBitrate>56000</audioBitrate>
<filesize>3366903</filesize><facets>
<facet>restriction_useragent</facet>
</facets>
</formitaet><formitaet basetype="wmv3_wma9_asf_mms_asx_http" isDownload="false">
<quality>veryhigh</quality><url>
http://wstreaming.zdf.de/zdf/veryhigh/120514_tipp2_wis.asx
</url>
<ratio>16:9</ratio>
<height>384</height>
<width>688</width>
<videoBitrate>1400000</videoBitrate>
<audioBitrate>192000</audioBitrate>
<filesize>10268831</filesize>
</formitaet>
</formitaeten>
<embed>false</embed>
<socialBookmarks>true</socialBookmarks>
<copyright/>
</video>
</response>
  • Dort steht in Zeile 24 unsere gewünschte Download-URL http://rodl.zdf.de/none/zdf/12/05/120514_tipp2_wis_vh.mp4

  • Diese gibt man nun in einen Download-Manager ein und lädt damit die qualitativ hochwertige mp4-Datei herunter

Streaming-Videos von der 3sat-Mediathek laden

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<script type="text/javascript">
var swfVersionStr = "10.1.0";
var xiSwfUrlStr = "/mediaplayer/3/playerProductInstall.swf";
var params = {};
params.quality = "high";
params.bgcolor = "#f2f2f2";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var playerBottomFlashvars = {};
playerBottomFlashvars.showPreloader= true;
playerBottomFlashvars.barColor= 0x6E0F25;
playerBottomFlashvars.barBorderColor = 0xFFFFFF;
playerBottomFlashvars.barWidth= 720;
playerBottomFlashvars.barHeight= 15;
playerBottomFlashvars.configuration = "/mediaplayer/3/configuration_player3.xml";
<!--assets/-->
playerBottomFlashvars.article = "true";
playerBottomFlashvars.tracking = "false";
playerBottomFlashvars.title = "";
playerBottomFlashvars.details = "";
playerBottomFlashvars.channelTitle = "3sat";
playerBottomFlashvars.hasCaption = "false";
playerBottomFlashvars.mediaURL = "http://fstreaming.zdf.de/3sat/veryhigh/120405_raetselhafte_mimik_wido.smil";
playerBottomFlashvars.CaptionURL="";
playerBottomFlashvars.assetID="";
playerBottomFlashvars.channelID="";
playerBottomFlashvars.CaptionOffset=0;
playerBottomFlashvars.airTime="";
playerBottomFlashvars.expiryDate="";
playerBottomFlashvars.vcmsURL="";
var playerBottomAttributes = {};
playerBottomAttributes.id = "EmbeddedPlayerBottom";
playerBottomAttributes.name = "EmbeddedPlayerBottom";
playerBottomAttributes.align = "middle";
swfobject.embedSWF(
"/mediaplayer/3/EmbeddedPlayer.swf", "flashContentTop",
"726", "405",
swfVersionStr, xiSwfUrlStr,
playerBottomFlashvars, params, playerBottomAttributes,
swfCreationCompleteHandler);
swfobject.createCSS("#flashContentTop", "display:block;text-align:left;");
</script>

Dort steht in Zeile 23 die playerBottomFlashvars.mediaURL = "http://fstreaming.zdf.de/3sat/veryhigh/120405_raetselhafte_mimik_wido.smil", diese mit einem Download-Manager herunterladen, sie dann mit einem Text-Editor öffnen:

<?xml version="1.1"?>
<smil baseProfile="Language" version="3.0" xmlns="http://zdf.de/ns/zdfsmil">
    <head>
        <meta content="SMuBl Core 3.4 Cienfuegos" name="creator"/>
        <meta content="2012-03-16T14:36:50" name="date"/>
        <meta content="vod" name="type"/>
        <meta content="1.0" name="version" />
        <paramGroup xml:id="gl-vod-rtmp">
            <param name="app" value="ondemand" />
            <param name="cdnclass" value="default" />
            <param name="cdnlabel" value="akamai" />
            <param name="host" value="cp125301.edgefcs.net" />
            <param name="protocols" value="rtmp,rtmpt" />
            <param name="subscribe" value="false" />
            <param name="type" value="stream" />
        </paramGroup>
    </head>
    <body>
        <switch>
            <switch>
                <excl>
                    <video dur="00:43:04" paramGroup="gl-vod-rtmp" src="mp4:3sat/12/04/120405_raetselhafte_mimik_wido_l.mp4" system-bitrate="62000">
                        <param name="quality" value="low" />
                    </video>
                    <video dur="00:43:04" paramGroup="gl-vod-rtmp" src="mp4:3sat/12/04/120405_raetselhafte_mimik_wido_h.mp4" system-bitrate="700000">
                        <param name="quality" value="high" />
                    </video>
                    <video dur="00:43:04" paramGroup="gl-vod-rtmp" src="mp4:3sat/12/04/120405_raetselhafte_mimik_wido_vh.mp4" system-bitrate="1700000">
                        <param name="quality" value="veryhigh" />
                    </video>
                </excl>
            </switch>
        </switch>
    </body>
</smil>

...und sich dann aus den darin enthaltenen Parametern die rtmp://-Streaming-Adresse der .mp4-Datei zusammensetzen. Nun ruft man ein Terminal[3] auf und gibt die Streaming-Adresse sowie den Dateipfad zum Speichern in folgender Reihenfolge an:

rtmpdump -r "rtmp://cp125301.edgefcs.net/ondemand/3sat/12/04/120405_raetselhafte_mimik_wido_vh.mp4" -o $HOME/Videos/120405_raetselhafte_mimik_wido_vh.mp4 --resume -V 

Hinweis:

  • Die Option -V bzw. --verbose ist nicht unbedingt nötig. Sie kann aber bei Misslingen des Downloads Hinweise auf die Fehler-Quellen geben.

  • Die Option -e bzw. --resume ist ebenfalls nicht unbedingt nötig. Sie sorgt aber ggf. für den Download in mehreren Teilen.

Streaming-Videos von der ARTE-Mediathek (ARTE+7) laden

  • Haupt-Seite: videos.arte.tv {de}

  • Beispiel-Seite: http://videos.arte.tv/de/videos/albert_schweitzer-4225518.html

  • Ausschnitt aus dem Quelltext, ziemlich unten:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
</dl>
</div>
</li>
</ul>
</div>
</div>
</div>
<script type="text/javascript">
/* <![CDATA[ */
videopageSettings = {
shareTrackingUrl: "/de/do_tracking/videos/albert_schweitzer-4225520,view,trackingPixel.gif?type=share"
};
var url_player = "http://videos.arte.tv/blob/web/i18n/view/player_18-3188338-data-4870353.swf";
var vars_player = {};
vars_player.videoId = "4225518";
vars_player.admin = "false";
vars_player.mode = "prod";
vars_player.embed = "false";
vars_player.autoPlay = "true";
vars_player.configFileUrl = "http://videos.arte.tv/cae/static/flash/player/config.xml";
vars_player.videorefFileUrl = "http://videos.arte.tv/de/do_delegate/videos/albert_schweitzer-4225518,view,asPlayerXml.xml";
vars_player.localizedPathUrl = "http://videos.arte.tv/cae/static/flash/player/";
vars_player.lang = "de";
initPlayer("");
/* ]]> */

</script>

Dort steht in Zeile 21 die vars_player.videorefFileUrl: http://videos.arte.tv/de/do_delegate/videos/albert_schweitzer-4225518,view,asPlayerXml.xml, diese im Browser aufrufen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<videoref id="4225518"><url>
http://videos.arte.tv/de/videos/albert_schweitzer-4225518.html
</url><videos>
<video lang="de" ref="http://videos.arte.tv/de/do_delegate/videos/albert_schweitzer-4225520,view,asPlayerXml.xml"/>
<video lang="fr" ref="http://videos.arte.tv/fr/do_delegate/videos/albert_schweitzer-4225568,view,asPlayerXml.xml"/>
</videos>
<subtitles>
</subtitles><services>
<service name="fullscreen" allow="true" allowEmbedded="true"/>
<service name="share" allow="true" allowEmbedded="true"/>
<service name="embed" allow="true" allowEmbedded="true"/>
<service name="info" allow="false" allowEmbedded="true"/>
</services><embed>
<disallow>defrancisation.com</disallow>
</embed>
</videoref>

Dort steht in Zeile 9: <video lang="de" ref="http://videos.arte.tv/de/do_delegate/videos/albert_schweitzer-4225520,view,asPlayerXml.xml"/>, auch diese URL im Browser aufrufen:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<video id="4225520" lang="de" playerLogo="ON">
<name>Albert Schweitzer</name><url>
http://videos.arte.tv/de/videos/albert_schweitzer-4225518.html
</url><firstThumbnailUrl>
http://videos.arte.tv/image/web/i18n/view/30_10_11_schweitzer_jpg_1-4230702-imageData-4967649,h,406,w,720.jpg
</firstThumbnailUrl>
<dateExpiration>Sun, 6 Nov 2011 20:15:24 +0100</dateExpiration>
<dateVideo>Sun, 30 Oct 2011 20:15:24 +0100</dateVideo>
<numberOfViews>341</numberOfViews>
<rating>0.0</rating><urls><url quality="hd">
rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/default/arteprod/A7_SGT_ENC_04_037657-000-A_PG_HQ_DE?h=74bf9901874e33a7e584ce88824427b2
</url><url quality="sd">
rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/default/arteprod/A7_SGT_ENC_02_037657-000-A_PG_MQ_DE?h=6fc967a9c67623e386cb9db9bf5c0fe7
</url>
</urls><postrolls><video id="4210016">
<name>Albert Schweitzer (Ausschnitt)</name><url>
http://videos.arte.tv/de/videos/albert_schweitzer_ausschnitt_-4233762.html
</url><firstThumbnailUrl>
http://videos.arte.tv/image/web/i18n/view/1030_schweitzer_07_jpg_2-4194804-imageData-4959922,h,169,w,300.jpg
</firstThumbnailUrl>
<dateExpiration>Sat, 5 Nov 2011 00:00:00 +0100</dateExpiration>
<dateVideo>Sun, 30 Oct 2011 20:15:00 +0100</dateVideo>
<numberOfViews>592</numberOfViews>
<rating>0.0</rating>
</video><video id="3795488">
<name>Festival: Anticodes 2011</name><url>
http://videos.arte.tv/de/videos/festival_anticodes_2011-3795486.html
</url><firstThumbnailUrl>
http://videos.arte.tv/image/web/i18n/view/Anticodes_2011_jpg_2-3791402-imageData-4863821,h,169,w,300.jpg
</firstThumbnailUrl>
<dateExpiration>Wed, 31 Oct 2012 00:46:33 +0100</dateExpiration>
<dateVideo>Fri, 25 Mar 2011 10:43:21 +0100</dateVideo>
<numberOfViews>406</numberOfViews>
<rating>5.0</rating>
</video><video id="3061260">
<name>Afrika: 50 Jahre Unabhängigkeit</name><url>
http://videos.arte.tv/de/videos/afrika_50_jahre_unabhaengigkeit-3207922.html
</url><firstThumbnailUrl>
http://videos.arte.tv/image/web/i18n/view/afrique_senegal_jpg_1-3058974-imageData-4709938,h,169,w,300.jpg
</firstThumbnailUrl>
<dateExpiration>Wed, 31 Oct 2012 00:46:11 +0100</dateExpiration>
<dateVideo>Mon, 1 Feb 2010 00:00:00 +0100</dateVideo>
<numberOfViews>1574</numberOfViews>
<rating>0.0</rating>
</video><video id="3225262">
<name>Togo: ein Mann und der Müll</name><url>
http://videos.arte.tv/de/videos/togo_ein_mann_und_der_muell-3228794.html
</url><firstThumbnailUrl>
http://videos.arte.tv/image/web/i18n/view/1505_togo_01_jpg_1-3213660-imageData-4728385,h,169,w,300.jpg
</firstThumbnailUrl>
<dateExpiration>Tue, 30 Oct 2012 23:51:03 +0100</dateExpiration>
<dateVideo>Sat, 15 May 2010 18:15:00 +0200</dateVideo>
<numberOfViews>2459</numberOfViews>
<rating>4.2</rating>
</video><video id="3115732">
<name>Im Gespräch mit Albert Maysles </name><url>
http://videos.arte.tv/de/videos/im_gespraech_mit_albert_maysles_-3122294.html
</url><firstThumbnailUrl>
http://videos.arte.tv/image/web/i18n/view/albert_itw_jpg_1-3115728-imageData-4718147,h,169,w,300.jpg
</firstThumbnailUrl>
<dateExpiration>Tue, 30 Oct 2012 22:29:00 +0100</dateExpiration>
<dateVideo>Mon, 22 Mar 2010 00:00:00 +0100</dateVideo>
<numberOfViews>252</numberOfViews>
<rating>0.0</rating>
</video>
</postrolls>
<duration>6550</duration>
<tracking url="http://videos.arte.tv/de/do_tracking/videos/albert_schweitzer-4225520,view,trackingPixel.gif?type=views"/>
<trackingReferer url="http://videos.arte.tv/de/do_tracking/videos/albert_schweitzer-4225520,view,trackingPixel.gif?referer=REFERER_URL&type=views"/><eStats>
<video_name>albert_schweitzer_4225520</video_name>
<video_section1>de</video_section1>
<video_section2>601thema_dimanche</video_section2>
<video_section3>ARTE7</video_section3>
<video_section4>037657-000</video_section4>
<video_section5>30102011</video_section5>
<video_genre/>
</eStats><xitiRichMediaTag>
RENDERING_PLACE::601thema_dimanche::4225520albert_schweitzer_DE
</xitiRichMediaTag>
</video>

Dort steht in den Zeilen 19 und 20 die <url quality="hd">. Nun ruft man ein Terminal[3] auf und gibt die Streaming-Adresse sowie den Dateipfad zum Speichern in folgender Reihenfolge an:

rtmpdump -r "rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/default/arteprod/A7_SGT_ENC_04_037657-000-A_PG_HQ_DE?h=74bf9901874e33a7e584ce88824427b2" -o "$HOME/Videos/Albert_Schweitzer.flv" --resume -V 

Hinweis:

  • Die Option -V bzw. --verbose ist nicht unbedingt nötig. Sie kann aber bei Misslingen des Downloads Hinweise auf die Fehler-Quellen geben.

  • Die Option -e bzw. --resume ist ebenfalls nicht unbedingt nötig. Sie sorgt aber ggf. für den Download in mehreren Teilen.

Den deutschen ARTE-Live-Stream speichern

Das Speichern des deutschen ARTE-Live-Streams (mit einer Auflösung von 720x406) wird mit einem Befehl über ein Terminal[3] ausgeführt. Die Befehlszeile lautet

rtmpdump -r "rtmp://artestras.fc.llnwd.net/artestras" -a "artestras" -f "LNX 11,0,1,98" -W "http://www.arte.tv/flash/mediaplayer/mediaplayer.swf" -p "http://videos.arte.tv/de/videos/html/index-4268756.html" -y "s_artestras_scst_geoFRDE_de?s=1320220800&h=878865258ebb8eaa437b99c3c7598998" -o $HOME/Videos/ARTE-Live-Stream.flv --live 

Die Option -o übergibt dabei den Dateipfad zum Speichern des deutschen ARTE-Live-Streams.

In Flash eingebettete Videos speichern

Manche Internetseiten wie z. B. YouTube bieten ihre Videos nur eingebettet in Flash zum Anschauen an. Doch auch diese Videos können heruntergeladen werden. Bei der Benutzung von Firefox werden diese Videos, solange sie im Browser geöffnet sind im Verzeichnis ~/.mozilla/firefox/PROFILNAME/Cache gespeichert, von wo sie einfach herauskopiert werden können. Nautilus markiert die Dateien dabei als Flash-Video und zeigt sogar eine Vorschau, vorausgesetzt der Codec ist installiert.

Seit der Adobe-Flashplayer-Version 10.2 ist das aber nicht mehr so leicht möglich. Eine Lösung findet sich im Artikel Versteckte Flashdateien speichern.

Download-Seiten

Dies sind Internetseiten, die mit Hilfe eines Skriptes die Videodatei herunterladen können. Hierzu kopiert man einfach den Link zu der Videodatei und fügt diesen in das Eingabefeld der Seite ein. Nun muss man nur noch auf den Knopf "Download" klicken und das Video wird auf die Festplatte gespeichert. Bekannte Download-Seiten sind die folgenden:

  • VideoDownloader {ch} (benötigt Java Browser-Plugin, bei einigen Browsern wie Chrome aktuelles IcedTea)

  • Keepvid {en} (benötigt Java Browser-Plugin)

  • VideoDL {en}

clive

Das Kommandozeilenwerkzeug clive ist ein in Perl geschriebenes Programm, mit dem man einfach und komfortabel Flashvideos (.flv) von Seiten wie YouTube {de}, Google Video {de}, Vimeo {en}, Dailymotion {de} und vielen anderen auf seinem Computer abspeichern kann.

YAVTD

YAVTD {de} (Yet Another Video Tube Downloader) der inoffiziellen Ubuntu-Variante ZevenOS {de} ist eine grafische Oberfläche (GUI), die auf clive und gambas2 aufsetzt. Siehe clive.

youtube-dl

YouTube-Videos können auch mit dem – in den offiziellen Paketquellen enthaltenen – Programm youtube-dl {en} heruntergeladen werden.

  • youtube-dl (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install youtube-dl 

sudo aptitude install youtube-dl 

Nach der Installation kann man Videos im Terminal herunterladen. Beispiel:

youtube-dl "http://de.youtube.com/watch?v=DiRYiyexsGY" 

Bei Problemen kann man das Programm manuell aktualisieren:

sudo youtube-dl -U 

Clipgrab

Eine weitere Alternative ist das grafische Programm Clipgrab.

Firefox-Erweiterungen

Es gibt auch Erweiterungen für den Browser Firefox, mit deren Hilfe man eine Videodatei herunterladen kann. Wie man eine Firefox-Erweiterung installiert, wird im Artikel Firefox/Erweiterungen beschrieben. Eine der bekanntesten und gut gepflegt ist Video DownloadHelper {de}.

Bei manchen Seiten wie z.B. Google Video gibt es meist mehrere Möglichkeiten, wenn die Datei in verschiedenen Formaten angeboten wird. Videos auf Flash-Seiten liegen oft im Format .flv (Flash_Video) vor. Diese FLV-Dateien kann man mit dem MPlayer abspielen und z.B. mit FFmpeg in andere Formate umwandeln.

Intern

Extern

ubuntuusers.local › WikiStreams speichern