Extrahieren von WAV aus MP4 unter Beibehaltung der höchstmöglichen Qualität


39

Ich habe die Dokumentation durchgesehen und kann mit dem folgenden Befehl eine wavDatei aus einer mp4Datei extrahieren :

ffmpeg -i my_video.mp4 output_audio.wav

Wie kann ich jedoch die Qualität der wavDatei steuern ? (Sagen wir zB, ich möchte die Qualität des Original-Audios so gut wie möglich erhalten.)

Antworten:


20

wavDateien enthalten normalerweise nicht komprimiertes Audio. Dies ist die Standardeinstellung beim Erstellen einer wavDatei mit ffmpeg. Ihr Befehl behält also bereits die maximale Qualität bei, da es keine verlustbehaftete Komprimierung (oder Komprimierung jeglicher Art) gibt, um die Qualität zu verringern.

Unter der Annahme, dass das Original-Audio komprimiert ist, können Sie die gleiche Qualität ohne die für unkomprimiertes Audio erforderliche große Dateigröße beibehalten, indem Sie einfach das Original-Audio (ohne das Video) in eine neue mp4Datei kopieren :

ffmpeg -i my_video.mp4 -c copy -map 0:a output_audio.mp4

Sie können es auch neu codieren oder in einen anderen Audio-Codec konvertieren. Wenn dieser Codec jedoch verlustbehaftete Komprimierung verwendet, geht die Qualität verloren.


Vielen Dank. Was ist mit der Abtastrate und der Anzahl der Bytes pro Sekunde? Wie wählt ffmpeg diese automatisch aus?
Amelio Vazquez-Reina

Die Abtastrate entspricht der des Eingangs. Da die wavDatei nicht komprimiert ist, ist die Bitrate für die Datei einfach die Abtastrate × Abtastgröße × Anzahl der Kanäle . Wenn Sie die Qualität verringern ffmpegmöchten, können Sie eine niedrigere Rate für das Resampling festlegen, eine 8-Bit-PCM-Version oder eine Mono-Version verwenden. Dies ist jedoch nicht die Standardeinstellung.
mark4o

1
Übrigens könnten Sie auch eine höhere Abtastrate verlangen, dies würde jedoch nur die Dateigröße und nicht die Qualität erhöhen. Es macht also nicht viel Sinn, es sei denn, Sie benötigen eine bestimmte Abtastrate.
mark4o

1
Auf meinem System mit Ubuntu 14.04 musste ich -acodec copystatt-c copy -map 0:a
Daniel Alder

Dies wird nicht als Wave-Datei exportiert und beantwortet die Frage nicht.
Andrew

22

Verlustfreies / verlustbehaftetes Audio aus Videos extrahieren ( flv / mp4 to wav / flac / mp3) Mit ffmpegVersion 2.3.1 in Ubuntu 14.04

Besuchen Sie: http://howto-pages.org/ffmpeg/

Finden Sie zunächst die Basisdaten aus der Quelle. Öffnen Sie das Video im VLC Player. Gehe zu

> Tools > Codec Information 
> Stream 0 (Video/ Codec/ Resolution/ Frame rate) 
> Stream 1 (Audio/ Codec/ Channel/ Sample rate)

Betrachten Sie eine Eingabedatei ( -i), wie z. B. input.mp4oder andere Dateien- flv, avi, ...). Verwenden Sie den folgenden Befehl, um das Video ( -vn) zu entfernen und unkomprimiertes Audio ( output.wav) mit einer Abtastrate von 44100 Hz ( -ar 44100) in Pulscode, der mit vorzeichenbehafteten 16-Bit-Little-Endian- -acodec pcm_s16leSamples ( ) und 2 Kanälen (Stereo) ( -ac 2) moduliert ist, auszugeben .

ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav

Andere -acodecMöglichkeiten sind mp3 flac m4a.

-acode flackonvertiert in 24-Bit-Datei. Für 16 Bit Sampling sollte es sein

ffmpeg -i input.mp4 -acodec flac -bits_per_raw_sample 16 -ar 44100 output.flac

wav- und flac-dateien sind größer als die mp4-datei

ac3Die Konvertierung funktioniert mit -acodec 3F2R/LFE -ac 64 Dummy-Tracks, die in Audacity aktiviert wurden.

Für die MP3-Konvertierung verwenden Sie einfach

ffmpeg -i input.mp4 -vn -acodec mp3 -ab 320k -ar 44100 -ac 2 output.mp3

Man könnte mehr Optionen sowohl für die Eingabe als auch für die Ausgabe erhalten, indem man die Liste in der Befehlszeile des Terminals ausprobiert

$ ffmpeg -help

1
Dies beantwortet die Frage nicht. Das OP weiß bereits, wie das Audio als WAV-Datei extrahiert wird. Sie fragen, wie man die Qualität kontrolliert - was natürlich nicht wirklich möglich ist und daher die Antwort sein sollte (wie bei mark4o). MP3 und FLAC fallen auch hier nicht in den Anwendungsbereich.
Slhck

Ich bin zu diesem Link gekommen, um eine Lösung zu finden, und als ich herumgearbeitet habe, habe ich, wie bereits erwähnt, noch etwas mehr. Das Problem, an dem ich verstanden habe und an dem ich auch gearbeitet habe, ist "Wie kann ich die Qualität der WAV-Datei steuern? (Z. B. möchte ich die Qualität des Original-Audios so weit wie möglich erhalten)". Ich bin kein Technikfreak, sondern ein Hobbyist und neu bei Ubuntu und ffmpeg. $ ffmpeg -i input.mp4 gibt auch alle Startqualitäten an und die Optionen können entsprechend hinzugefügt werden, um das Beste aus ihnen herauszuholen.
Dr. Murli

Unknown encoder 'pcm_s161e'Bitte geben Sie an, wie Sie dies angehen können.
kRazzy R
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.