ZDF neo Livestream - Trennung von Bild und Ton
-
@MenchenSued Das ging ja schnell, vielen Dank! Das Help-Forum von VDH ist tatsächlich in dieser Frage nicht hilfreich. Aber da ich ja keinen Vertrag mit VDH habe, scheint mir dein Vorschlag DIE Lösung zu sein - wenn ich nicht - shame on me - so was von unbedarft wäre.
Wenn ich deinen Vorschlag lese, stürzen die Fragen nur so auf mich ein:- Wenn ich richtig verstehe, starte ich zu gegebener Zeit die Livestream-Datei aus MV. Ist die Echtzeit-Live oder wie im VDH zeitlich verschoben, beim ZDF z.B. um ca. 30 Minuten, bei der ARD um volle 2 Stunden?
- Beendet man die Aufnahme sauber mit “Download stoppen”?
- Du schreibst, dass man die Auflösung einstellen kann. Ich sehe jedoch, obwohl ich in “Set bearbeiten” Höchste/Hohe Qualität gewählt habe, nur Mittlere Qualität. Kann man denn irgendwo HD einstellen?
- Last but not least kenne ich mich mit ffmpeg überhaupt nicht aus. Ich nehme an, dass ich das Programm downloaden und installieren, bzw. unzippen muss. Falls ja, wo kriege ich die neueste funzende Version für Win 10 x64 her? Und wo wird der von dir gepostete Command “ffmpeg -i [Video-URL] -i [Ton-URL] -c copy -bsf:a aac_adtstoasc [filename.mp4]” eingesetzt, und durch welche URLs bzw. filename.mp4 werden diese Variablen ersetzt?
Ich hoffe, dass ich dich mit meiner Fragerei nicht zu sehr stresse. Bei einer, was superduper wäre, Antwort bitte nicht vergessen: Der Adressat ist Laie. Vielen Dank im Voraus.
-
Hallo, auch ich habe das Problem und benutze hierfür den DVB Viewer.
HIer kann mehrere Aufzeichnungen gkeichzeitig laufen lassen.
ZDF Neo bietet hier 2 Streams an. Einmal einen Video- und einmal einen AudiostreamAudio:
https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/6/6.m3u8
Video:
https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/5/5.m3u8Anschliessend mit einen entspechenden Programm die beiden zusammen fügen.
Macht natürlich nur Sinn bei Aufzeichnungen -
@joemet sagte: ZDF Neo bietet hier 2 Streams an. Einmal einen Video- und einmal einen Audiostream
Audio:
https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/6/6.m3u8
Video:
https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/5/5.m3u8Ähm ja, das steht ja alles im 1. Post (auch noch weitere URLs für “Originalton” und “Audiodeskription”)…
@sunrise sagte: Last but not least kenne ich mich mit ffmpeg überhaupt nicht aus. Ich nehme an, dass ich das Programm downloaden und installieren, bzw. unzippen muss.
Nicht nötig, du kannst die Version verwenden, die mit MV gepackt ist, und dann auf der Kommandozeile Folgendes eingeben (Bsp. für macOS):
/Applications/MediathekView/MediathekView\.app/Contents/Resources/ffmpeg -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/5/5.m3u8 -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/6/6.m3u8 -c copy -bsf:a aac_adtstoasc /Users/user/Downloads/zdf_neo-livestream-record.mp4
Unter Windows lauten die Pfade wohl etwa so (kontrollieren) bzw. ist folgender Befehl auf der Kommandozeile einzugeben:
"C:\Program Files\MediathekView\bin\ffmpeg.exe" -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/5/5.m3u8 -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/6/6.m3u8 -c copy -bsf:a aac_adtstoasc "C:\Users\Deinname\Downloads\zdf_neo-livestream-record.mp4"
Mit “Enter” bestätigen bzw. die Aufnahme starten und mit “Q” (wohl auch unter Win) selbe beenden.
Die Adresse der obigen Video- und Audiospur stammen aus dem Master-File, welches MV mit URL verlinkt hat:
http://zdf-hls-02.akamaized.net/hls/live/2002461/de/high/master.m3u8
Wenn du das nachvollziehen willst: Diese URL in Firefox eingeben und die Datei runterladen und in einem Texteditor öffnen. Dann siehst du das, was im 1. Post in diesem Thread festgehalten ist.
Hinweis: Hab Obiges nicht getestet, da ich geogeblockt bin…
EDIT:
Wie unten angemerkt “Q” drücken, um die Aufnahme korrekt zu beenden, “ctrl+Z” stoppt zwar den Vorgang, führt jedoch zu korrupten Containern. -
@styroll sagte in ZDF neo Livestream - Trennung von Bild und Ton:
Die Adresse der obigen Video- und Audiospur stammen aus dem Master-File
@sunrise Kurzer Nachtrag: Die Adressen in der Masterdatei ändern sich alle paar Tage. Daher am Besten beim Aufzeichnen entweder direkt die Masterdatei verwenden oder kurz vor der geplanten Aufzeichnung aktuelle URLs besorgen. Dann aber beachten, dass alle Auflösungen zweimal erscheinen. Wichtig ist, dass das passende Audio genommen wird, erkennbar an der identischen Nummer (z.B. …live/2002461…)
Ich beende ffmpeg mit ‘Q’, CTRL-C führt zu einem unbrauchbaren Ergebnis und CTRL-Z muss ich mal ausprobieren.
-
@MenchenSued Vielen herzlichen Dank. Den Punkt mit der Aktualität der Masterdatei habe ich zwar verstanden, aber da sind noch einige Punkte, die mich zur Verzweiflung bringen:
- Wie muss ich die Aufnahme starten? Mit “Download starten” des Live-Files in MV? Oder von der Konsole aus?
- Wo muss ich zum Beenden das Q eingeben?
- Ich bin scheint’s zu blöd, um die Konsole korrekt zu füttern! Wie ich den String auch eingebe, jedesmal kickt’s mich mit “das System kann den angegebenen Pfad nicht finden” raus, so sieht die letzte Eingabe aus: C:\Users\DancEasy_Chris>\Downloads___MediathekView 13.5.1\bin\ffmpeg.exe -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/5/5.m3u8 -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/f99180d327897a157a633e0c05930729/6/6.m3u8 -c copy -bsf:a aac_adtstoasc D:\VIDEO\Mediatheken\Movies & Serials\Livestream-ZDF.neo Livestream-2121904285.mp4 - Habe ich Klammern nicht gesetzt, bzw. Anführungszeichen? Den Namen des Ziel-mp4-Files habe ich dem MV-Livestream entnommen.
-
@sunrise Start in der Konsole ist richtig, Q wird dort ebenfalls gedrückt. Wenn der Zielpfad oder Dateiname Leerzeichen oder Sonderzeichen enthält, gehören doppelte Anführungszeichen darum. Am besten erst mal mit einer lokalen Datei (z.B. “ziel.mp4”) ausprobieren.
-
In der Hoffnung, daß es jemandem hilft, der auf der Suche nach einer Übergangslösung hier landet, erzähle ich hier, wie ich mit Hilfe von “alternativen Tools” und der Allround-Utility ffmpeg eine Folge von “Notruf Hafenkante” zurechtgebastelt habe.
MV hat die Folge in der Filmliste, aber die URL bringt einen “404 - Not Found”. Die Sendung ist für morgen (30.1.) vorgesehen; normalerweise hat das ZDF diese Serien-Episoden schon mal eine Woche vorher in der Mediathek. DIe Idee ist wohl, daß der Junkie nach der Ausstrahlung von Folge X sich die Folge X+1 gleich anschließend online antun kann.
Normalerweise heißt ZDF und “404” ja nur, daß man den ZDF-Index hochzählt. Der steht in der Filmliste auf 2. Da aber 3,4,5 und 6 ebenfalls nicht aufzufinden waren, begab ich mich auf die Reise mit den “alternativen Tools.” Davon habe ich zwei im regelmäßigen Einsatz, die Browser-Erweiterung Download Helper auf Firefox und das Kommandozeilen-Programm YOutube-dl. Mit beiden habe ich schon schöne Erfolge erzielt.
Diesmal jedoch - und deshalb bin ich heute hier, weil es mit der oben erwähnten vermuteten Umstellung beim ZDF zun zu haben scheint - lief es alles ein wenig verquer: Download Helper fand nur briefmarkengroße Formate (z.B. 480x272) oder die 1280x720-Version mit Audiobeschreibung. Bevor ich das richtig durchschaut hatte, hatte ich die auch schon auf der Platte. Okay, der Youtube-Helfer ist normalerweise auch sehr clever. Doch bevor ich mich’s versah hatte ich da ebenfalls die “Bildbeschreibungsversion” geerntet. Aber als freundliche Zugabe fand sich auch die reine Tonspur ganz für sich alleine auf der Platte.
Wie MenchenSued oben schon beschrieb, kann ffmpeg solche Aufgaben durchaus:
ffmpeg -i [Video-URL] -i [Ton-URL] -c copy -bsf:a aac_adtstoasc [MyFilename.mp4]
Nur daß meine Video-Datei auch die bildbeschreibende Tonspur beinhaltete und ich so genau den auch in meiner Output-Datei wiederfand.
So habe ich ein wenig über die Stream-Auswahl bei ffmpeg recherchiert (ein schönes Wort für Googeln …) und ja, ohne besondere Aufträge nimmt ffmpeg von jeder Stream-Sorte (Video, Audio, Untertitel) erstmal den ersten, den es findet. Dabei macht es nichts, wenn die erste Datei nur einen Audio-Stream enthält; dann wird der Video-Stream eben erst in der zweiten Datei gefunden.
Also, mal völlig abgesehen davon, was der Experte aus diesem Wunder-Tool noch alles herausholen kann: Hier hilft die ganz einfache Lösung, die beiden Eingabe-Dateien zu vertauschen:
ffmpeg -i [Ton-URL] -i [Video-URL] -c copy -bsf:a aac_adtstoasc [filename.mp4]
wobei dann der Audio-Stream mit der Beschreibung ignoriert wird.
Das war’s was ich wollte. Hoffentlich hilft’s jemandem weiter.
(Es könnte gut sein, daß die ZDF-Mediathekler damit experimentieren, die Daten zu einer Sendung modular aufzubewahren - verschiedene Video-Versionen nach Auflösung und Audio mit und ohne Bildbeschreibung, eventuell noch 5.1 oder fremdsprachige Alternativen - in der Summe kann man da bei getrennter “Lagerhaltung” 'ne Menge Platz sparen. Und ausgespielt wird dann eben immer ein Paar von Streams, je nachdem, was der Kunde bestellt hat.)
-
@gerdd Die Mühe, die du dir gegeben hast, ist anerkennenswert, aber in diesem Fall (und mit der entsprechenden Anpassung auch in anderen) geht es einfacher, wenn du diese URL nimmst (r-klick und “speichern unter”): https://rodlzdf-a.akamaihd.net/none/zdf/20/01/200130_1925_sendung_nhk/3/200130_1925_sendung_nhk_a1a2_3328k_p36v14.mp4.
Mir würde helfen, wenn ich mich zum Aufzeichnen des ZDFNeo-Livestreams nicht mit ffmpeg und der Kommandozeile, für die ich zu doof bin, rumschlagen müsste. -
@gerdd sagte: Nur daß meine Video-Datei auch die bildbeschreibende Tonspur beinhaltete und ich so genau den auch in meiner Output-Datei wiederfand.
So habe ich ein wenig über die Stream-Auswahl bei ffmpeg recherchiert.Das hier vorliegende Problem ist ein anderes als deines. Und deines wird üblicherweise anders gelöst (und zwar mit der Stream-Auswahl via “map”-Option).
Und diese Option kann möglichweise auch für das Problem des OP verwendet werden (ich kenne die map-Option nur im Zusammenhang mit lokalen Files):
ffmpeg -i [URL_masterfile-aus-MV.m3u8] -c copy -bsf:a aac_adtstoasc -map 0:3 -map 0:0 [filename.mp4]
Die Nummerierung der Input-File(s) und der Video-/Tonspuren beginnt bei “0”: “0:3” bedeutet somit: vom 1. Input-File (= Masterfile) der 4. Stream (im Masterfile).
Oder vielleicht transparenter (v = Videospur; a = Audiospur):
-map 0:v:3 -map 0:a:0
Evtl. geht für die Video- und Tonspurselektion auch (m = Metadaten):
-map 0:m:CODECS="avc1.640020,mp4a.40.2" -map 0:m:name:"TV Ton"
-
@styroll Das liest sich sehr vielversprechend. Du bist also der Ansicht, dass das so für den Neo-Livestream funktionieren könnte? Käme diese Syntax denn so in die Kommandozeile? Meinst du das kriegt auch ein Dummy mit pröbeln hin, oder ist das zu kompliziert?
-
@sunrise sagte: Du bist also der Ansicht, dass das so für den Neo-Livestream funktionieren könnte?
Vom Prinzip her schon (hab wie gesagt nur Erfahrung damit im Zusammenhang mit lokalen Videodateien).
Der grosse Vorteil dieser Variante ist, dass man die (wechselnde) Video- und Tonspur-URL nicht zu wissen braucht, solange die Streamreihenfolge oder deren Bezeichnung gleich bleibt. Das heisst, man könnte ein eigenes Set erstellen (und dann dieses z.B. via Button oder Rechtsklick aufrufen) und zwar mit folgendem FFmpeg-Schalter (macOS, Linux):
-user_agent "Mozilla" -i %f -c copy -bsf:a aac_adtstoasc -map 0:v:3 -map 0:a:0 **
Vielleicht probiert das mal jemand im Forum, der nicht geogeblockt ist, mit dem ZDF.neo-Livestream aus. Allenfalls alle 3 Varianten testen.
-
@MenchenSued Ich habe heute morgen um 6 Uhr den ZDFNeo-Livestream aus dem cmd starten und das File aufnehmen können. Leider ist im mp4-Container der Ton zwar vorhanden, aber stark asynchron. Das liesse sich mit Avidemux zwar ausbügeln, ist aber bei einer grösseren Anzahl Files sehr zeitraubend.
Also habe ich mp4 durch m2ts ersetzt, analog VDH (HLS Stream als M2TS streamen). Resultat: Kein Ton mehr und im cmd wiederholt die Fehlermeldung: [mpegts @ 000001d9e39a7e40] AAC bitstream not in ADTS format and extradata missing. Gibt’s für diese Zwickmühle vielleicht eine Lösung? Vielen Dank im Voraus. -
@sunrise sagte: Also habe ich mp4 durch m2ts ersetzt […] Resultat: Kein Ton mehr und im cmd wiederholt die Fehlermeldung: [mpegts @ 000001d9e39a7e40] AAC bitstream not in ADTS format and extradata missing.
Das Audio-Bitstream-Format in Transport-Streams muss im ADTS-Format sein, d.h. für das Packen der Streams in TS-Containern ist keine Umwandlung nötig (d.h. “-bsf:a aac_adtstoasc” weglassen).
-
@styroll Good news, bad news. Die Aufnahme als m2ts funktioniert mit dieser Syntax einwandfrei, aber der Ton ist LEIDER genauso verschoben wie bei mp4. Dank Avidemux - hoffe ich wenigstens, da ich dieses Feature noch nie benutzen musste - sollten sich Bild und Ton im verlustfreien copy-Verfahren relativ einfach synchronisieren lassen. Aber selbst wenn das so gelöst werden könnte, wäre eine synchrone Livestreamaufzeichnung eleganter. Ich habe die Hoffnung jedenfalls noch nicht aufgegeben, dass dies möglich sein könnte.
-
@sunrise
Ich habe heute zwei Aufzeichnungen vorgenommen und keinen Versatz festgestellt. Leider waren es Dokus mit dem Sprecher im Off. Mein Befehl war:ffmpeg -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/db2a160db8fa0578f9d55391f18d47c1/5/5.m3u8 -i https://zdf-hls-02.akamaized.net/hls/live/2002461/de/db2a160db8fa0578f9d55391f18d47c1/6/6.m3u8 -c copy -bsf:a aac_adtstoasc x1.mp4
-
@sunrise sagte: wäre eine synchrone Livestreamaufzeichnung eleganter
Versuch’s mal mit (weiss nicht, ob das bei Streams funktioniert):
-async 1
(Sync beim Start) oder:
-async 0
(Sync beim ersten Timestamp) oder:
-async 48000
(Sync beim jedem Timestamp; “44100”, falls die Audiospur eine Sample Rate von 44100 kHz aufweist)