web-dev-qa-db-fra.com

Extraire le wav de MP4 tout en préservant la plus haute qualité possible

J'ai parcouru la documentation et je peux extraire un fichier wav à partir d'un fichier mp4 à l'aide de la commande:

ffmpeg -i my_video.mp4 output_audio.wav

Cependant, comment puis-je contrôler la qualité du fichier wav? (Par exemple, je souhaite préserver autant que possible la qualité du son original)

35

Les fichiers wav contiennent généralement de l'audio non compressé. Il s'agit de la valeur par défaut lors de la production d'un fichier wav à l'aide de ffmpeg. Ainsi, votre commande préservera déjà la qualité maximale, car il n’existe aucune compression avec perte (ni compression de quelque nature que ce soit) pour réduire la qualité.

En supposant que l'audio d'origine soit compressé, vous pouvez conserver la même qualité sans la taille de fichier importante nécessaire pour l'audio non compressé en copiant simplement l'audio d'origine (sans la vidéo) dans un nouveau fichier mp4:

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

Vous pouvez également le réencoder ou le convertir en un codec audio différent, mais si ce codec utilise une compression avec perte, la qualité sera alors perdue.

18
mark4o

Extraction de données audio sans perte/avec pertes à partir de vidéos (flv / mp4 to wav / flac / mp3) à l'aide de ffmpegversion 2.3.1 dans Ubuntu 14.04

Visitez: http://howto-pages.org/ffmpeg/

Tout d'abord trouver les données de base de la source. Ouvrez la vidéo dans le lecteur VLC. Aller à

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

Considérons un fichier d'entrée (-i), tel que input.mp4 ou d'autres fichiers - flv, avi, ...). Pour supprimer la vidéo (-vn) et extraire l'audio non compressé (output.wav) à une fréquence d'échantillonnage de 44100 Hz (-ar 44100) en code d'impulsion modulé avec des échantillons signés, 16 bits, little endian (-acodec pcm_s16le) et 2 canaux (stéréo) (-ac 2) utilisez la commande suivante.

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

Les autres options -acodec sont mp3 flac m4a.

-acode flac se convertit en fichier 24 bits. Pour l'échantillonnage 16 bits, il devrait être

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

les fichiers wav et flac sont plus volumineux que le fichier mp4

La conversion ac3 fonctionne avec -acodec 3F2R/LFE -ac 6 mais crée 4 pistes factices, comme vérifié dans Audacity.

Pour la conversion mp3, utilisez simplement

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

On pourrait obtenir plus d'options pour les entrées et les sorties en essayant à partir de la liste obtenue en ligne de commande sur le terminal

$ ffmpeg -help
19
dr.murli