Konvertieren Sie YouTube-DASH-Audio (youtube-dl) in m4a (AAC DL).

12509
Sun

Ich kann m4a DASH-Audio, das ich von YouTube über youtube-dl auf Winamp heruntergeladen habe, nicht hören. Gibt es in youtube-dl eine Option, den DASH-Audioteil aus der m4a-Datei zu entfernen und als m4a (AAC LC) ohne Qualitätsverlust herunterzuladen / zu speichern? Bisher verwende ich ffmpeg -i input.m4a -vn -acodec copy output.m4ajede Datei, um sie in Winamp korrekt wiederzugeben.

6

3 Antworten auf die Frage

6
slhck

Nein, Sie benötigen einen zweiten Konvertierungsschritt.

Das Problem ist, dass für YouTube DASH, der MP4 - Container den ftypdie „Hauptmarke“ gesetzt dashstatt m4a. Dies ist der richtige Ansatz für DASH-Streaming, aber Winamp ist zu alt, um es zu erkennen (und viele andere Programme sind es).

Nun wäre ein vernünftiger Vorschlag, eine Funktionsanforderung für youtube-dl zu erstellen, um Unterstützung für die Nachbearbeitung von ffmpeg hinzuzufügen, um die Hauptmarke des MP4-Containers in etwas Kompatibleres umzuwandeln. Aber im Moment gibt es so etwas nicht.

Sie können auch einen Fehlerbericht für Winamp einreichen, um die Decodierungsunterstützung für dashMarken aufzunehmen. Da es wahrscheinlich ist, dass ein Decoder-Plugin eines Drittanbieters verwendet wird, bedeutet dies wahrscheinlich auch, dass ein Fehlerbericht an anderer Stelle erstellt wird.

Denken Sie, dass die ffmpeg-Parameter, die ich derzeit verwende, am besten für die Konvertierung von MPEG DASH m4a nach AAC LC m4a geeignet sind? Sun vor 9 Jahren 0
Ja. Sie konvertieren nicht wirklich den Audio-Bitstream selbst - Sie ändern lediglich die Metadaten. Dies ist ein verlustfreier Prozess, so dass Sie die Audioqualität nicht verlieren. slhck vor 9 Jahren 2
Es ist keine Meinung. Der Build von Winamp scheint zu alt zu sein, um die (eher aktuellen) MPEG-4-Marken des MPEG-DASH-Standards implementiert zu haben. Andere Software unterstützt es. Und wie gesagt, einige andere Programme können fehlschlagen. slhck vor 9 Jahren 0
4
galacticninja

youtube-dl 2015.01.23.4 und neuer korrigiert automatisch den Header der m4a-Datei, wenn ffmpeg auf dem System vorhanden ist.

Quelle: youtube-dl: Youtube m4a - Dateien mit --extract-Audio-Download kann nicht in einigen Spielern spielen
Alles, was Sie tun müssen, ist der Pfad zu dem Verzeichnis hinzuzufügen, mit dem ffmpeg zu Ihrem Pfad - Systemvariablen (wie so in Windows 7):

Oder verwenden Sie das --ffmpeg-location <path to ffmpeg binary or its containing directory>Befehlszeilenargument, wenn Sie youtube-dl aufrufen, damit youtube-dl durch ffmpeg automatisch korrigiert werden kann.

Meine Frage war am 14. November angemessen. Der Autor von youtube-dl hat sich am 15. Januar mit dem Problem befasst. Sun vor 9 Jahren 0
1
Qwerty

Ich habe mir die Freiheit genommen, Ihren ffmpegBefehl zu benutzen, und das ist, was ich bekam:yt "My Youtube File.mp4"

Eine Datei yt.batin system32, die Folgendes enthält:

@echo off mv %1 "_%~n1" ffmpeg -i "_%~n1" -vn -c:a copy "%~n1.m4a" rm "_%~n1" 

* benennt sich automatisch in um m4a, was im Code geändert werden kann.

** Es muss eine temporäre Datei sein und dann rm, mv verwendet werden, andernfalls werden Datei und Dateiname beschädigt.

@ sunk818 Sie haben absolut Recht, dass Dateien gelöscht werden, falls etwas schief geht. Ich denke, ich könnte eine Art Scheck hinzufügen. ..Aber dann führe ich diesen Befehl gleich nach dem Download von youtube aus, also kann ich ihn einfach noch einmal herunterladen. Qwerty vor 9 Jahren 1