Skip to content
  • Kategorien
  • Aktuell
  • Tags
  • Beliebt
  • Benutzer
  • Gruppen
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
MediathekView Logo

MediathekView-Forum

  1. Übersicht
  2. Fragen, Hilfe, Kritik
  3. Tonversatz bei getrennter Video- und Audio-URL

Tonversatz bei getrennter Video- und Audio-URL

Geplant Angeheftet Gesperrt Verschoben Fragen, Hilfe, Kritik
tonversatz
16 Beiträge 7 Kommentatoren 1.6k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    hirsebrei
    schrieb am zuletzt editiert von hirsebrei
    #1

    Hallo, ich bin in diesem Forum gelandet durch eine Anleitung, die vor Zeiten hier mal gepostet wurde (https://forum.mediathekview.de/topic/3144/zdf-neo-livestream-trennung-von-bild-und-ton). Es geht um die Aufzeichnung von Sendern, die für die Tonspur eine gesonderte URL verwenden (konkret: ZDFneo).

    Ich habe folgende Kommandozeile erstellt, um wiederum zwei getrennte Spuren zu erhalten:

    ffmpeg -i “http://test.com/video.m3u8” -c copy -bsf:a aac_adtstoasc “output.mp4” -i “http://test.com/audio.m3u8” -c copy -bsf:a aac_adtstoasc “output.m4a”

    Für ZDFneo lauten die entsprechenden URLs (Stand 1.2022):
    https://zdf-hls-16.akamaized.net/hls/live/2016499/de/2413e6d60eeb31f6c5976ac53f8c6d5a/4/4.m3u8 (Video)
    https://zdf-hls-16.akamaized.net/hls/live/2016499/de/2413e6d60eeb31f6c5976ac53f8c6d5a/5/5.m3u8 (Audio)

    Dabei entsteht ein Tonversatz (Videospur hinkt deutlich hinterher). Wie lässt sich das korrigieren (ohne jedesmal ein Delay im Player einzustellen), oder – noch besser – gibt es eine andere Möglichkeit des Mitschnitts, bei der das Problem vermieden wird?

    (Man könnte beide Streams auch gleich bei der Aufnahme zusammenführen, aber der Tonversatz ist der gleiche und lässt sich dann vermutlich noch schlechter korrigieren.)

    Danke für eure Mühe.

    Gruß, hirsebrei

    ? MenchenSuedM vitussonV 3 Antworten Letzte Antwort
    • ? Offline
      ? Offline
      Ein ehemaliger Benutzer
      schrieb am zuletzt editiert von Ein ehemaliger Benutzer
      #2

      @hirsebrei sagte in Tonversatz bei getrennter Video- und Audio-URL:

      Für ZDFneo lauten die entsprechenden URLs (Stand 1.2022):

      Wie lautet denn der Titel der Sendung und zur ZDF-Mediathek, und welchen Player benutz du zur Wiedergabe?

      1 Antwort Letzte Antwort
      • ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        antwortete auf hirsebrei am zuletzt editiert von
        #3
        Dieser Beitrag wurde gelöscht!
        1 Antwort Letzte Antwort
        • MenchenSuedM Offline
          MenchenSuedM Offline
          MenchenSued Globaler Moderator
          antwortete auf hirsebrei am zuletzt editiert von MenchenSued
          #4

          @hirsebrei
          Also ich habe seit vielen Monaten keinen Versatz mehr beim Mitschnitt der Livestreams gesehen. Früher waren ab und an mal Delays drin, die ich mittels AviDemux behoben habe. Ich verwende die originalen m3u8 Daten, die getrennte Spuren enthalten und damit scheint ein einigermaßen aktueller ffmpeg klar zu kommen. Die Befehlszeile lautet beispielsweise
          ffmpeg -i neo.m3u8 -c copy -bsf:a aac_adtstoasc neo.mp4
          und der Inhalt von neo.m3u8 ist beispielsweise (gekürzt und nicht aktuell)

          #EXTM3U
          #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1-2200042844",NAME="TV Ton",LANGUAGE="deu",DEFAULT=YES,URI="https://zdf-hls-16.akamaized.net/hls/live/2016499/de/2413e6d60eeb31f6c5976ac53f8c6d5a/5/5.m3u8"
          #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="A1.1+A2.1+A3.1-599552640",NAME="TV Ton",LANGUAGE="deu",DEFAULT=YES,URI="https://zdf-hls-16.akamaized.net/hls/live/2016499-b/de/2413e6d60eeb31f6c5976ac53f8c6d5a/5/5.m3u8"
          
          #EXT-X-STREAM-INF:CODECS="avc1.640028,mp4a.40.2",BANDWIDTH=4504154,AVERAGE-BANDWIDTH=3544154,AUDIO="A1.1+A2.1+A3.1-2200042844",SUBTITLES="T1-2200042844",FRAME-RATE=50.000,RESOLUTION=1280x720
          https://zdf-hls-16.akamaized.net/hls/live/2016499/de/2413e6d60eeb31f6c5976ac53f8c6d5a/4/4.m3u8
          

          MediathekView 14.3.0 nightly (4.3.2025), Linux Mint 21.3, VLC 3.0.16

          H ? 2 Antworten Letzte Antwort
          • H Offline
            H Offline
            hirsebrei
            antwortete auf MenchenSued am zuletzt editiert von
            #5

            @menchensued Wie lautet denn deine vollständige Kommandozeile? Die von dir eingestellte Zeile enthält ja nur eine (Beispiel-)Spur, also entweder Audio oder Video. Ich habe es gerade nochmal getestet: Der Versatz der ffmpeg-Aufzeichnung beträgt bei mir ziemlich genau 2 Sekunden, wenn ich den Livestream direkt sehe, ist er natürlich synchron.

            MenchenSuedM 1 Antwort Letzte Antwort
            • ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              antwortete auf MenchenSued am zuletzt editiert von
              #6
              Dieser Beitrag wurde gelöscht!
              H 1 Antwort Letzte Antwort
              • H Offline
                H Offline
                hirsebrei
                antwortete auf Ein ehemaliger Benutzer am zuletzt editiert von
                #7

                @oida sagte in Tonversatz bei getrennter Video- und Audio-URL:

                Ich nehme wie schon vorhin erwähnt, die Livestream URL die MV hat und habe damit keine Probleme.

                Wunder der Technik … Ich habe eben nochmal einiges getestet, mit folgendem Ergebnis:

                Im VLC-Player höre ich wahlweise die Tonspur oder nichts, jedenfalls ohne Bild.

                Über die Kommandozeile mit der MV-URL erhalte ich wahlweise eine Audiodatei oder ein vollständiges Video mit der Auflösung 270x480.

                Über die Kommandozeile mit den weiter oben verwendeten getrennten URLs erhalte ich ein ordentliches Bild in 720x1280 samt Ton, und zwar wahlweise synchron oder asynchron …

                Welches Ergebnis ich jeweils erhalte, scheint vom Zufall abhängig. Wirklich strange.

                ? 1 Antwort Letzte Antwort
                • MenchenSuedM Offline
                  MenchenSuedM Offline
                  MenchenSued Globaler Moderator
                  antwortete auf hirsebrei am zuletzt editiert von MenchenSued
                  #8

                  @hirsebrei
                  Die m3u8-Datei enthält unten die Zeile für das Video, es enthält jedoch auch Informationen zum Audio (A1.1+A2.1…), dessen Information in einer der oberen zwei Zeilen steht. ffmpeg kommt damit klar, auch ein moderner VLC kann die Informationen kombinieren. Meine vlc Version 3.0.9.2 kann das noch nicht, aber ich sehe mir die Filme eh auf dem 60"-TV per USB-Stick an.
                  Im Prinzip kannst Du die m3u8-Datei aus dem MediathekView nehmen, wie oida geschrieben hat. Ich habe die Datei etwas abgespeckt, damit ich nur die hohe Auflösung bekomme und nicht mitten im Film auf eine geringere Datenrate gewechselt wird. Beim ZDF und seinen Brüdern darf die m3u8-Datei aber erst zum Start der Aufnahme geholt werden, da sich die langen Zahlenketten regelmäßig ändern.

                  Du kannst auch mal Folgendes probieren:
                  ffplay http://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8
                  Das ist der Player, der mit ffmpeg ausgeliefert wird. Zumindest mit meiner ffmpeg-Version 4.2.4 klappt das alles problemlos.


                  MediathekView 14.3.0 nightly (4.3.2025), Linux Mint 21.3, VLC 3.0.16

                  1 Antwort Letzte Antwort
                  • ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    antwortete auf hirsebrei am zuletzt editiert von
                    #9
                    Dieser Beitrag wurde gelöscht!
                    1 Antwort Letzte Antwort
                    • vitussonV Offline
                      vitussonV Offline
                      vitusson
                      antwortete auf hirsebrei am zuletzt editiert von vitusson
                      #10

                      @hirsebrei sagte in Tonversatz bei getrennter Video- und Audio-URL:

                      Hallo, ich bin in diesem Forum gelandet durch eine Anleitung, die vor Zeiten hier mal gepostet wurde (https://forum.mediathekview.de/topic/3144/zdf-neo-livestream-trennung-von-bild-und-ton). Es geht um die Aufzeichnung von Sendern, die für die Tonspur eine gesonderte URL verwenden (konkret: ZDFneo).

                      Ich habe folgende Kommandozeile erstellt, um wiederum zwei getrennte Spuren zu erhalten:

                      ffmpeg -i “http://test.com/video.m3u8” -c copy -bsf:a aac_adtstoasc “output.mp4” -i “http://test.com/audio.m3u8” -c copy -bsf:a aac_adtstoasc “output.m4a”

                      Für ZDFneo lauten die entsprechenden URLs (Stand 1.2022):
                      https://zdf-hls-16.akamaized.net/hls/live/2016499/de/2413e6d60eeb31f6c5976ac53f8c6d5a/4/4.m3u8 (Video)
                      https://zdf-hls-16.akamaized.net/hls/live/2016499/de/2413e6d60eeb31f6c5976ac53f8c6d5a/5/5.m3u8 (Audio)

                      In diesem Fall hast du den besten Videostream und den Default Audiostream “Deu” gewählt, da musst du gar nicht mit verschieden URLs aus der m3u heraumkaspern, das macht ffmpeg von alleine wen du

                      ffmpeg -i http://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 -c copy -bsf:a aac_adtstoasc  out.mp4 
                      

                      verwendest.

                      Willst du aber zB. eine andere kleinere Auflösung und die “Originalton” Audiospur haben, mußt du mit ‘-map’ arbeiten, nicht mit den verschiedenen URLs.
                      Wenn ich so arbeite wie du in deinem Beispiel bekomme ich auch asynchronen Müll.

                      Also zB. 960x540 bekommst du mit

                       ffmpeg -i http://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 -map v:4 -c copy -map a:1 -bsf:a aac_adtstoasc out.mp4
                      

                      und das wird alles synchron.

                      v=video , a=audio , Streamnummern beginnen bei 0, d.h. 5. Videostream ist :4, zweiter Audiostream ist :1

                      1 Antwort Letzte Antwort
                      • H Offline
                        H Offline
                        hirsebrei
                        schrieb am zuletzt editiert von
                        #11

                        @vitusson sagte in Tonversatz bei getrennter Video- und Audio-URL:

                        das macht ffmpeg von alleine wen du
                        ffmpeg -i http://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 c copy -bsf:a aac_adtstoasc out.mp4

                        verwendest.

                        Wenn ich das mache, bekomme ich wie oben geschrieben entweder ein 270x480-Bild oder (meistens) gar keins. Warum auch immer. Nur aus diesem Grund habe ich ja überhaupt angefangen, mir die getrennten Spuren über die Netzwerkanalyse herauszusuchen. Die Zeile:

                        ffmpeg -i http://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 -map v:5 -c copy -map a:1 -bsf:a aac_adtstoasc out.mp4

                        ergibt bei mir:
                        [mp4 @ 0000020f70d90280] dimensions not set
                        Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
                        Error initializing output stream 0:1 –

                        vitussonV 1 Antwort Letzte Antwort
                        • vitussonV Offline
                          vitussonV Offline
                          vitusson
                          antwortete auf hirsebrei am zuletzt editiert von
                          #12

                          @hirsebrei
                          Das ist jetzt beides bei mir nicht reproduzierbar, weder die Fehlermeldung noch die asynchrone Aufnahme. Da scheint etwas anderes im Argen zu liegen, oder grundlegende Unterschiede der ffmpeg Version

                          1 Antwort Letzte Antwort
                          • H Offline
                            H Offline
                            hirsebrei
                            schrieb am zuletzt editiert von hirsebrei
                            #13

                            Für den Fall, dass mal jemand mit dem gleichen Problem hier aufschlägt und eine Lösung sucht: Ich habe folgenden Workaround gefunden:

                            getrennten Video- und Audio-Stream in eine gemeinsame Datei schreiben:

                            ffmpeg -i input_video.m3u8 -i input_audio.m3u8 -c copy -bsf:a aac_adtstoasc beispiel.mp4
                            

                            Die benötigten URL-Adressen für Audio- und Video-Stream lassen sich über die Netzwerkanalyse finden (Strg+Shift+E auf der Seite des Livestreams).

                            Die so erzeugte Datei kann asynchron sein, muss aber nicht. Falls ja, beträgt der Versatz offenbar ein Vielfaches eines I-Frames (im Test waren es 2 oder 4 Sekunden). Dieser Versatz lässt sich wie folgt korrigieren:

                            ffmpeg -i beispiel.mp4 -itsoffset 2 -i beispiel.mp4 -c:a copy -c:v copy -map 0:v:0 -map 1:a:0 output.mp4
                            

                            Der itsoffset-Wert gibt die Zeit an (hier also 2 sec), der map-Parameter gibt an, in welche Richtung die Korrektur erfolgen soll. Die obige Zeile korrigiert eine Datei, deren Bild dem Ton hinterherhinkt. Ist es umgekehrt (Bild schneller als Ton), lautet sie:

                            ffmpeg -i beispiel.mp4 -itsoffset 2 -i beispiel.mp4 -c:a copy -c:v copy -map 0:a:0 -map 1:v:0 output.mp4
                            

                            Es ist übrigens richtig, ffmpeg und VLC laufen bei mir nicht in der neusten Version, da es damit noch ganz andere Probleme gab …

                            styrollS 1 Antwort Letzte Antwort
                            • styrollS Offline
                              styrollS Offline
                              styroll
                              antwortete auf hirsebrei am zuletzt editiert von styroll
                              #14

                              @hirsebrei sagte: Es ist übrigens richtig, ffmpeg und VLC laufen bei mir nicht in der neusten Version

                              Das wäre ja noch eine wichtige Information, die eher initial als erst am Schluss gebracht werden sollte.

                              Du könntest jetzt aber wenigstens noch kommunizieren, auf welche Version von ffmpeg (und unter welchem OS – wohl Linux…) du dich konkret bei deiner Anleitung beziehst.

                              Und den Audio-Shift in einem Programm wie Avidemux zu bestimmen und dann damit gleich zu korrigieren, scheint mir immer noch wesentlich einfacher zu sein.

                              @hirsebrei sagte: Falls ja, beträgt der Versatz offenbar ein Vielfaches eines I-Frames (im Test waren es 2 oder 4 Sekunden)

                              Da meinst du wohl eher die Dauer von einem I-Frame zum nächsten I-Frame, also die GOP-Länge.

                              1 Antwort Letzte Antwort
                              • vitussonV Offline
                                vitussonV Offline
                                vitusson
                                schrieb am zuletzt editiert von
                                #15

                                Ich liefere eine funktionierende Lösung ohne Audioversatz, aber du verbreitest dann als Tip eine bei der Audio asynchron ist. Muß man nicht verstehen…. Aber ich bin dann auch raus.plonk

                                1 Antwort Letzte Antwort
                                • M Offline
                                  M Offline
                                  melanikoko
                                  schrieb am zuletzt editiert von
                                  #16
                                  Dieser Beitrag wurde gelöscht!
                                  1 Antwort Letzte Antwort

                                  26

                                  Online

                                  6.6k

                                  Benutzer

                                  6.1k

                                  Themen

                                  39.0k

                                  Beiträge
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Kategorien
                                  • Aktuell
                                  • Tags
                                  • Beliebt
                                  • Benutzer
                                  • Gruppen