linux_joy
Anmeldungsdatum: 6. Februar 2008
Beiträge: 636
Wohnort: Hannover
|
Inzwischen hat der Download des Videos Sicherheitstest für die E-Mailadresse von der WDR-Mediathek-Seite geklappt, und zwar mithilfe dieser Anleitung 🇬🇧 im VideoHelp-Forum 🇬🇧. Bei der Art des Downloads handelt es sich technisch gesehen um das von Adobe entwickelte HTTP Dynamic Streaming für Flash. Nachfolgend ein Ausschnitt eines mittels Tshark gesnifften Paketdaten-Mitschnittes: 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 | --
754 16.649258 77.21.60.234 -> 92.123.69.205 HTTP 616 GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 HTTP/1.1
Frame 754: 616 bytes on wire (4928 bits), 616 bytes captured (4928 bits) on interface 0
--
Hypertext Transfer Protocol
GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 HTTP/1.1\r\n
[Expert Info (Chat/Sequence): GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 HTTP/1.1\r\n]
[Message: GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 HTTP/1.1\r\n]
[Severity level: Chat]
[Group: Sequence]
Request Method: GET
Request URI: /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43
Request Version: HTTP/1.1
Host: adaptiv.wdr.de\r\n
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
Accept-Language: de,en-US;q=0.7,en;q=0.3\r\n
Accept-Encoding: gzip, deflate\r\n
Referer: http://www.wdr.de/themen/global/flashplayer/wsPlayer.swf\r\n
Cookie: _alid_=ZeLNeWP4OfXMp7jaexkcwg==\r\n
--
\r\n
[Full request URI: http://adaptiv.wdr.de/z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43]
[HTTP request 2/2]
756 --
|
In Zeile 24 steht die gesuchte Full request URI: http://adaptiv.wdr.de/z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 inklusive der Zeichenfolge manifest.f4m . Im Abstand von ca. alle 10 Sekunden werden jetzt vom Flash-Player einzelne Fragment-Dateien heruntergeladen und danach nahtlos in ihm abgespielt: 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 | --
821 17.454305 77.21.60.234 -> 92.123.69.205 HTTP 684 GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/0_ff2f1b1dd567a4ab_Seg1-Frag1?als=0,3,NaN,2,0,NaN,0,0,0,36,f,0,121.27,f,u,MHFSCGUZWPYH,3.3.0,36&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 HTTP/1.1
Frame 821: 684 bytes on wire (5472 bits), 684 bytes captured (5472 bits) on interface 0
--
Hypertext Transfer Protocol
GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/0_ff2f1b1dd567a4ab_Seg1-Frag1?als=0,3,NaN,2,0,NaN,0,0,0,36,f,0,121.27,f,u,MHFSCGUZWPYH,3.3.0,36&hdcore=3.3.0&plugin=aasp-3.3.0.99.43 HTTP/1.1\r\n
[[truncated] Expert Info (Chat/Sequence): GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/0_ff2f1b1dd567a4ab_Seg1-Frag1?als=0,3,NaN,2,0,NaN,0,0,0,36,f,0,121.27,f,u,MHFSCGUZWPYH,3.3.0,36&hdcore=3.3.0]
[Message [truncated]: GET /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/0_ff2f1b1dd567a4ab_Seg1-Frag1?als=0,3,NaN,2,0,NaN,0,0,0,36,f,0,121.27,f,u,MHFSCGUZWPYH,3.3.0,36&hdcore=3.3.0&plugin=aasp-3.3.0.9]
[Severity level: Chat]
[Group: Sequence]
Request Method: GET
Request URI: /z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/0_ff2f1b1dd567a4ab_Seg1-Frag1?als=0,3,NaN,2,0,NaN,0,0,0,36,f,0,121.27,f,u,MHFSCGUZWPYH,3.3.0,36&hdcore=3.3.0&plugin=aasp-3.3.0.99.43
Request Version: HTTP/1.1
Host: adaptiv.wdr.de\r\n
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
Accept-Language: de,en-US;q=0.7,en;q=0.3\r\n
Accept-Encoding: gzip, deflate\r\n
Referer: http://www.wdr.de/themen/global/flashplayer/wsPlayer.swf\r\n
Cookie: _alid_=ZeLNeWP4OfXMp7jaexkcwg==\r\n
--
\r\n
[Full request URI [truncated]: http://adaptiv.wdr.de/z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/0_ff2f1b1dd567a4ab_Seg1-Frag1?als=0,3,NaN,2,0,NaN,0,0,0,36,f,0,121.27,f,u,MHFSCGUZWPYH,3.3.0,36&hdcore]
[HTTP request 4/4]
--
|
Zum Herunterladen des Streams muss zunächst sichergestellt sein, dass PHP auf dem System installiert ist, das kann man aber mit dem Terminal-Befehl leicht überprüfen: php -v
PHP 5.5.6-1 (cli) (built: Nov 21 2013 09:12:42)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies In diesem Fall ist PHP bereits auf dem System installiert. Falls der obige Befehl nicht das beabsichtigte bewirkt, so installiert man flugs die Pakete php5, php5-cli und php5-curl: sudo apt-get install php5 php5-cli php5-curl und überprüft danach die Installation wieder mit Achtung: Im Zuge der Installation von PHP installiert man sich automatisch auch den Apache-Webserver. Und für diesen sollte man den Zugriff auf das lokale System beschränken. Dann erstellt man sich irgendwo in seinem Home-Ordner eine leere Datei namens AdobeHDS.php (vllt. in einem eigenen Ordner namens AdobeHDS-Skript) und kopiert sich dorthinein von K-S-V's GitHub-Seite 🇬🇧 das Skript AdobeHDS.php 🇬🇧 und speichert diese ab. Nun muss man sich im Verzeichnis mit dem Skript namens AdobeHDS.php befinden bzw. sich zunächst hineinbegeben, und führt dann
aus:
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 | KSV Adobe HDS Downloader
You can use script with following switches:
--help displays this help
--debug show debug output
--delete delete fragments after processing
--fproxy force proxy for downloading of fragments
--play dump stream to stdout for piping to media player
--rename rename fragments sequentially before processing
--update update the script to current git version
--auth [param] authentication string for fragment requests
--duration [param] stop recording after specified number of seconds
--filesize [param] split output file in chunks of specified size (MB)
--fragments [param] base filename for fragments
--fixwindow [param] timestamp gap between frames to consider as timeshift
--manifest [param] manifest file for downloading of fragments
--maxspeed [param] maximum bandwidth consumption (KB) for fragment downloading
--outdir [param] destination folder for output file
--outfile [param] filename to use for output file
--parallel [param] number of fragments to download simultaneously
--proxy [param] proxy for downloading of manifest
--quality [param] selected quality level (low|medium|high) or exact bitrate
--referrer [param] Referer to use for emulation of browser requests
--start [param] start from specified fragment
--useragent [param] User-Agent to use for emulation of browser requests
|
Nun kann der Download eingeleitet werden mithilfe der mittels Tshark gesnifften manifest.f4m -URL: php AdobeHDS.php --manifest "http://adaptiv.wdr.de/z/medstdp/ww/fsk0/39/391901/,391901_3928669,391901_3928670,391901_3928671,.mp4.csmil/manifest.f4m?g=MHFSCGUZWPYH&hdcore=3.3.0&plugin=aasp-3.3.0.99.43" --delete Kommt als Ausgabe KSV Adobe HDS Downloader
You have to install the following extension(s) to continue: 'curl' so muss zusätzlich auch noch das Paket php5-curl installiert werden: sudo apt-get install php5-curl Danach wird der Download-Befehl wiederholt, und es kommt die Ausgabe: KSV Adobe HDS Downloader
Processing manifest info....
Quality Selection:
Available: 1478 989 575
Selected : 1478
Fragments Total: 20, First: 1, Start: 1, Parallel: 8
Downloading 20/20 fragments
Found 20 fragments
Finished Wie man sieht, wählt der KSV Adobe HDS Downloader automatisch die höchste Qualitätsstufe. Es befindet sich jetzt die Datei namens c28c04935d4eee6b03508350a8deba42_0_ff2f1b1dd567a4ab_Seg1-Frag.flv im Verzeichnis mit dem Skript namens AdobeHDS.php. Die heruntergeladenen einzelnen Fragment-Dateien sind mithilfe des --delete -Schalters gelöscht worden. Zum Aktualisieren des Skriptes eignet sich der Befehl php AdobeHDS.php --update
KSV Adobe HDS Downloader
Updating script....
Script has been updated successfully. K-S-V hat auf seiner GitHub-Seite auch noch eine eigene Anleitung 🇬🇧 zum Skript AdobeHDS.php erstellt. Eine altermative Anleitung könnte How to download HTTP Dynamic Streaming video using Livestreamer and UnPlug 🇬🇧 darstellen.
|
linux_joy
Anmeldungsdatum: 6. Februar 2008
Beiträge: 636
Wohnort: Hannover
|
noisefloor schrieb: Hallo, IMHO ok. Wobei man die ganzen Beispiele von ARD, ZDF & Co auch in ein Howto auslagern könnte... ☺ Gruß, noisefloor
Hallo, jetzt "darf" ich mir also noch zusätzlich meinen Kopf darüber zerbrechen, ob die ganzen Beispiele von ARD, ZDF & Co nun im Wiki verbleiben dürfen oder in ein Howto abzischen müssen 😢 Aber ernsthaft, bei den Howtos soll es ja so sein:
Ein Howto ist eine einfache Schritt-für-Schritt-Anleitung, welche von Nutzern für Nutzer erstellt wurde und in erster Linie im Forum verwendet wird, um schnelle Problemlösungen bereitzustellen. Sie sind daher nicht Teil des hiesigen Wikis, in dem für neue Artikel weitaus komplexere Ansprüche gelten. Bearbeiten von Howtos Der Nutzer, der das Howto erstellt hat, sollte dieses natürlich auch langfristig pflegen und aktuell halten. Grundsätzlich dürfen Howtos aber, wie Wiki-Artikel auch, von jedem angemeldeten Benutzer bearbeitet, aktualisiert und erweitert werden. Nach dem Überarbeiten eines Howtos muss dieses erneut getestet werden, um im Howto-Bereich zu verbleiben.
Archivierung von Howtos
Also, wg. der Test-Pflicht alle sechs Monate gibt es also doch eine strengere Regel als im Wiki! Und diese kann IMHO deshalb auch nur für kurze, auf ein eng umrissenes Themengebiet beschränkte Artikel gelten. Den "Beispiel-"Artikel zu testen wäre sehr viel aufwendiger. Oder man würde alle Beispiele in jeweils eigene Howtos auslagern – auf diese dürfte vom Wiki aus aber auch nicht verlinkt werden! Außerdem müsste dann wohl ich die Pflege dieser Howtos übernehmen. Ohne Mich 😛
|