ZDF Live - Aufnahmezeitpunkt auch z.B. 1 h zurück?
-
Wenn ich mir den Livestream ansehe, dann finde ich dort eine Liste von 2 Sekunden-Segmenten, die über drei Stunden gehen. Hier ein Ausschnitt vom Anfang und Ende:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:2 #EXT-X-MEDIA-SEQUENCE:1170071 #EXT-X-PROGRAM-DATE-TIME:2026-06-28T06:26:32Z #EXTINF:2.000, 1170071.ts #EXT-X-PROGRAM-DATE-TIME:2026-06-28T06:26:34Z #EXTINF:2.000, 1170072.ts ... #EXT-X-PROGRAM-DATE-TIME:2026-06-28T09:26:30Z #EXTINF:2.000, 1175470.tsDer letzte Eintrag ist in diesem Fall 9:26 Uhr, die m3u8-Datei habe ich um 11:26 Uhr herunter geladen, daher wird es wohl einen Versatz von zwei Stunden geben, da der letzte Eintrag die Gegenwart ist. Der Start wäre dann wohl 8:26 Uhr, also ein 3 Stunden altes Segment.
Theoretisch würde es also reichen, die aufsteigenden Segmente herunter zu laden und nachträglich zu verketten. Ich konnte z.B. das erste Segment nach 3 Stunden 10 Minuten noch herunter laden, daher kann es sein, dass mehr als 3 Stunden in der Vergangenheit erreichbar sind.
-
Wenn ich mir den Livestream ansehe, dann finde ich dort eine Liste von 2 Sekunden-Segmenten, die über drei Stunden gehen. Hier ein Ausschnitt vom Anfang und Ende:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:2 #EXT-X-MEDIA-SEQUENCE:1170071 #EXT-X-PROGRAM-DATE-TIME:2026-06-28T06:26:32Z #EXTINF:2.000, 1170071.ts #EXT-X-PROGRAM-DATE-TIME:2026-06-28T06:26:34Z #EXTINF:2.000, 1170072.ts ... #EXT-X-PROGRAM-DATE-TIME:2026-06-28T09:26:30Z #EXTINF:2.000, 1175470.tsDer letzte Eintrag ist in diesem Fall 9:26 Uhr, die m3u8-Datei habe ich um 11:26 Uhr herunter geladen, daher wird es wohl einen Versatz von zwei Stunden geben, da der letzte Eintrag die Gegenwart ist. Der Start wäre dann wohl 8:26 Uhr, also ein 3 Stunden altes Segment.
Theoretisch würde es also reichen, die aufsteigenden Segmente herunter zu laden und nachträglich zu verketten. Ich konnte z.B. das erste Segment nach 3 Stunden 10 Minuten noch herunter laden, daher kann es sein, dass mehr als 3 Stunden in der Vergangenheit erreichbar sind.
@MenchenSued sagte in ZDF Live - Aufnahmezeitpunkt auch z.B. 1 h zurück?:
Theoretisch würde es also reichen, die aufsteigenden Segmente herunter zu laden und nachträglich zu verketten
OK, danke!
Klingt ja schon mal gut. Jetzt müsste ich nur noch wissen, wie ich die Segmente herunterlade. Sieht ja nach transport stream-Dateien aus.Die kann man ja sogar direkt aneinanderhängen. Da müsste ich ja nichtmal ffmpeg verwenden.
Kann ich Mediathekview zum Herunterladen verwenden? Oder welches andere Tool?
-
Vielleicht gibt es da schon etwas oder es ließe sich relativ einfach in Python realisieren.
Man nimmt den Link zum ZDF-Livestream (beispielsweise aus Mediathekview) und stellt die verfügbaren Auflösungen und Sprachen in einer GUI dar. Nach Auswahl durch den Anwender werden die dedizierten m3u8-Dateien geladen und eine Zeitachse in der GUI angeboten, bei der man Start und Endzeit auswählen kann. Dann werden Sprach- und Videosegmente herunter geladen und zusammen gefügt. -
Vielleicht gibt es da schon etwas oder es ließe sich relativ einfach in Python realisieren.
Man nimmt den Link zum ZDF-Livestream (beispielsweise aus Mediathekview) und stellt die verfügbaren Auflösungen und Sprachen in einer GUI dar. Nach Auswahl durch den Anwender werden die dedizierten m3u8-Dateien geladen und eine Zeitachse in der GUI angeboten, bei der man Start und Endzeit auswählen kann. Dann werden Sprach- und Videosegmente herunter geladen und zusammen gefügt.@MenchenSued sagte in ZDF Live - Aufnahmezeitpunkt auch z.B. 1 h zurück?:
… Man nimmt den Link zum ZDF-Livestream (beispielsweise aus Mediathekview) und stellt die verfügbaren Auflösungen und Sprachen in einer GUI dar. Nach Auswahl durch den Anwender…
Ja, das beschreibt eine mögliche Umsetzung.
@MenchenSued sagte in ZDF Live - Aufnahmezeitpunkt auch z.B. 1 h zurück?:
… Der letzte Eintrag ist in diesem Fall 9:26 Uhr, die m3u8-Datei habe ich um 11:26 Uhr herunter geladen, …
Wenn ich das richtig verstehe, hast du ja bereits erfolgreich ein Fragment aus der Vergangenheit heruntergeladen. Aber wie kann ich das machen?
Kannst du mir da mit einer kurzen Beschreibung helfen?
Damit würdest du mir sehr helfen.Ich hätte jetzt kein Problem mir - mit Unterstützung von ChatGPT - z.B. ein Powershell-Script zu erstellen, wenn ich denn wüsste, wie ich ein solches Fragment herunterladen kann.
Ich habe da schon Ähnliches mithilfe von ChatGPT zum Laufen gebracht, wo ich dann in der Kommandozeile vergleichsweise komfortabel die “Eckwerte” eingebe. Allein schaffe ich so etwas aber nicht. Da fehlen mir die tiefergehenden Kenntnisse.
-
Das ist nicht so ganz einfach.
Die URL für den ZDF-Livestream lautet
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8. Diese muss herunter geladen werden, beispielsweise mit wget.In dieser Datei suchst Du oben die Zeile mit dem passenden Ton und unten die passende Videoauflösung:
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1-2011680127",NAME="TV Ton",LANGUAGE="deu",DEFAULT=YES,URI="/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8" #EXT-X-STREAM-INF:CODECS="avc1.640028,mp4a.40.2",BANDWIDTH=4504154,AVERAGE-BANDWIDTH=3544154,AUDIO="A1.1+A2.1+A3.1-2011680127",SUBTITLES="T1-2011680127",FRAME-RATE=50.000,RESOLUTION=1280x720 /hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8Die beiden URLs werden dann mit der Basisadresse
http://zdf-hls-15.akamaized.neterweitert und Du bekommst dann beispielsweisehttp://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8 # Ton http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8 # 1280x720Diese beiden Dateien werden nun herunter geladen.
Nun suchst Du Dir jeweils einen Block mit identischer Sequenz bzw. Zeit:
#EXT-X-PROGRAM-DATE-TIME:2026-06-28T12:27:30Z #EXTINF:2.005, 1180900.aac #EXT-X-PROGRAM-DATE-TIME:2026-06-28T12:27:30Z #EXTINF:2.000, 1180900.tsIm nächsten Schritt werden die URLs von vorhin um die letzten Zeichen gekürzt und der Segmentname angehängt:
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/1180900.aac # Ton http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/1180900.ts # VideoDiese Daten werden nun herunter geladen.
Video und Audio müssen noch kombiniert werden. Mit dem Befehl
ffmpeg -i 1180900.ts -i 1180900.aac -map 0:v:0 -map 1:a:0 1180900.mp4klappt das zwar, es wird aber neu kodiert und außerdem ist das Ergebnis nur 2 Sekunden lang.
Aber für den Einstieg sollte das reichen.
-
Das ist nicht so ganz einfach.
Die URL für den ZDF-Livestream lautet
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8. Diese muss herunter geladen werden, beispielsweise mit wget.In dieser Datei suchst Du oben die Zeile mit dem passenden Ton und unten die passende Videoauflösung:
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1-2011680127",NAME="TV Ton",LANGUAGE="deu",DEFAULT=YES,URI="/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8" #EXT-X-STREAM-INF:CODECS="avc1.640028,mp4a.40.2",BANDWIDTH=4504154,AVERAGE-BANDWIDTH=3544154,AUDIO="A1.1+A2.1+A3.1-2011680127",SUBTITLES="T1-2011680127",FRAME-RATE=50.000,RESOLUTION=1280x720 /hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8Die beiden URLs werden dann mit der Basisadresse
http://zdf-hls-15.akamaized.neterweitert und Du bekommst dann beispielsweisehttp://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8 # Ton http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8 # 1280x720Diese beiden Dateien werden nun herunter geladen.
Nun suchst Du Dir jeweils einen Block mit identischer Sequenz bzw. Zeit:
#EXT-X-PROGRAM-DATE-TIME:2026-06-28T12:27:30Z #EXTINF:2.005, 1180900.aac #EXT-X-PROGRAM-DATE-TIME:2026-06-28T12:27:30Z #EXTINF:2.000, 1180900.tsIm nächsten Schritt werden die URLs von vorhin um die letzten Zeichen gekürzt und der Segmentname angehängt:
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/1180900.aac # Ton http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/1180900.ts # VideoDiese Daten werden nun herunter geladen.
Video und Audio müssen noch kombiniert werden. Mit dem Befehl
ffmpeg -i 1180900.ts -i 1180900.aac -map 0:v:0 -map 1:a:0 1180900.mp4klappt das zwar, es wird aber neu kodiert und außerdem ist das Ergebnis nur 2 Sekunden lang.
Aber für den Einstieg sollte das reichen.
@MenchenSued sagte in ZDF Live - Aufnahmezeitpunkt auch z.B. 1 h zurück?:
Das ist nicht so ganz einfach.
Die URL für den ZDF-Livestream lautet
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8…Vielen Dank für die Mühe! Du hast mir sehr geholfen.
Folgendes schonmal zur Info!
Zunächst habe ich einfach mal versucht, die obige URL mit dem JDownloader herunterzuladen.
Das Plugin erkennt offensichtlich die darin referenzierte Video-Datei:
Der LinkGrabber bietet 3 verschiedenen Auflösungen an:
(320p_aac).mp4
(540p_aac).mp4
(720p_aac).mp4Das ist z.B. die URL, über die der JD die 720 pixel-Auflösung herunterlädt:
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8Gebe ich die folgende URL ein, wird die Audiospur heruntergeladen. :)
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8Ich erhalte somit ein exakt 3-stündiges Video - leider (noch) ohne Tonspur.
Und mit der zweiten URL die exakt 3-stündige Tonspur dazu.
Es sind tatsächlich die aktuell letzten 3 Stunden.Die Installation von ffmpeg im JDownloader hat leider noch nicht zur Kombi von Bild und Ton geführt.
Natürlich werde ich da mal nachfragen…
-
Das ist nicht so ganz einfach.
Die URL für den ZDF-Livestream lautet
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8. Diese muss herunter geladen werden, beispielsweise mit wget.In dieser Datei suchst Du oben die Zeile mit dem passenden Ton und unten die passende Videoauflösung:
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1-2011680127",NAME="TV Ton",LANGUAGE="deu",DEFAULT=YES,URI="/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8" #EXT-X-STREAM-INF:CODECS="avc1.640028,mp4a.40.2",BANDWIDTH=4504154,AVERAGE-BANDWIDTH=3544154,AUDIO="A1.1+A2.1+A3.1-2011680127",SUBTITLES="T1-2011680127",FRAME-RATE=50.000,RESOLUTION=1280x720 /hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8Die beiden URLs werden dann mit der Basisadresse
http://zdf-hls-15.akamaized.neterweitert und Du bekommst dann beispielsweisehttp://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/4.m3u8 # Ton http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/3.m3u8 # 1280x720Diese beiden Dateien werden nun herunter geladen.
Nun suchst Du Dir jeweils einen Block mit identischer Sequenz bzw. Zeit:
#EXT-X-PROGRAM-DATE-TIME:2026-06-28T12:27:30Z #EXTINF:2.005, 1180900.aac #EXT-X-PROGRAM-DATE-TIME:2026-06-28T12:27:30Z #EXTINF:2.000, 1180900.tsIm nächsten Schritt werden die URLs von vorhin um die letzten Zeichen gekürzt und der Segmentname angehängt:
http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/4/1180900.aac # Ton http://zdf-hls-15.akamaized.net/hls/live/2016498/de/46737977cd995332e70936236b8a9bd8/3/1180900.ts # VideoDiese Daten werden nun herunter geladen.
Video und Audio müssen noch kombiniert werden. Mit dem Befehl
ffmpeg -i 1180900.ts -i 1180900.aac -map 0:v:0 -map 1:a:0 1180900.mp4klappt das zwar, es wird aber neu kodiert und außerdem ist das Ergebnis nur 2 Sekunden lang.
Aber für den Einstieg sollte das reichen.
@MenchenSued sagte in ZDF Live - Aufnahmezeitpunkt auch z.B. 1 h zurück?:
Das ist nicht so ganz einfach.
Die URL für den ZDF-Livestream lautet http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8 …
ChatGPT hat mir auf Anhieb folgende funktionierende Kommandozeile erstellt, nachdem ich deine Liste:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:1170071#EXT-X-PROGRAM-DATE-TIME:2026-06-28T06:26:32Z
…dort gesendet hatte.
Folgendes in der Kommandozeile lädt z.B. das Live-Video exakt eine Stunde zurück (1800 steht für 1800 2-sec-Segmente) und einer Dauer von 60 sec (-t 60) - automatisch in höchster Auflösung.
ffmpeg -live_start_index -1800 -i http://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8 -t 60 -c copy test.mp4Und ein Powershell-Script, in dem ich direkt nach dem Start-Zeitpunkt und der Aufnahmedauer gefragt werde, habe ich auch bekommen.
ich kann es hier leider nicht einkopieren, denn es wird hier nur gekürzt wiedergegeben. Im “Schreib-Fenster” ist noch alles enthalten, aber es wird dann beim Absenden abgeschnitten.
Copyright: ChatGPT :)
-
Dieser Beitrag wurde gelöscht!
-
Einfach die Endung txt entfernen :-)