FFMPEG verdoppelt die Audiolänge beim Extrahieren aus Video

FFMPEG verdoppelt die Audiolänge beim Extrahieren aus Video

Ich habe eine Videodatei video.mp4. Sie ist 18 Minuten und 23 Sekunden lang. Ich möchte die Datei extrahieren.Nur Audioaus diesem Video und erstellen Sie aus dem Audio im Video eine MP3 in höchstmöglicher Qualität.

Durch Googlen bin ich auf diesen Befehl gestoßen:ffmpeg -i video.mp4 audio.mp3

Das Problem ist, dass dieser BefehlDoppeldie Länge des ausgegebenen Audios (Dauer 36 Minuten 46 Sekunden). Die Audiospur wird einmal wiederholt, sodass die Ausgabe die gesamten 18 Minuten 23 Sekunden Audio enthält. Anschließend werden die 18 Minuten und 23 Sekunden Audio sofort wieder von vorne gestartet.

Ein bisschen mehr Googlefu führte mich zu dieser Flagge: -write_xing 0vondiese SO-Frage, aber selbst mit diesem Flag wird der Ton immer noch in einer Schleife abgespielt.

BEARBEITEN: Weiteres Googlen und meine Annahme, dass es etwas mit 2 Audiokanälen zu tun hat (und vielleicht Kanal 2 direkt nach Kanal 1 in einer Schleife laufen lässt, anstatt die beiden zusammenzuführen), führten mich zu diesem Flag: -ac 1um die Zusammenführung von Stereo -> Mono zu erzwingen. Auch das hat nicht funktioniert und es wird immer noch eine MP3-Datei mit 38 Minuten und 46 Sekunden ausgegeben.

Wie kann ich den Ton aus einer Videodatei extrahieren (in MP3), ohne die Dauer zu verdoppeln?

Antwort1

Versuche dies:

ffmpeg -i video.mp4 -vn -sn -c:a mp3 -ab 192k audio.mp3

Ich habe dies für denselben Zweck verwendet und es hat die Dauer des Audios nicht geändert. Außerdem ist (meiner Meinung nach) der Versuch, die Qualität zu verbessern, einfach übertrieben, aber Sie könnten es mit 320 KB versuchen.

Antwort2

Google hat im ffmpeg-Trac einige Fehlerberichte gefunden, die zeigen, dass -write_xing 0 in Ihrer ffmpeg-Befehlszeile das Problem ebenfalls beheben kann. Es scheint, dass die Diskrepanz in der Länge auf falsche Werte in den standardmäßig geschriebenen Xing-Daten zurückzuführen ist.

verwandte Informationen