32

Я просмотрел документацию и могу извлечь файл wav из файла mp4 с помощью команды:

ffmpeg -i my_video.mp4 output_audio.wav

Тем не менее, как я могу контролировать качество файла wav ? (например, скажем, я хочу сохранить качество исходного звука настолько, насколько смогу)

2 ответа2

18

Извлечение Lossless/ Lossy Audio из видео (flv / mp4 to wav / flac / mp3) Использование ffmpeg версии 2.3.1 в Ubuntu 14.04

Посетите: http://howto-pages.org/ffmpeg/

Прежде всего найдите исходные данные из источника. Откройте видео в VLC Player. Идти к

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

Рассмотрим входной файл (-i), такой как input.mp4 или другие файлы - flv, avi, ...). Для удаления видео (-vn) и извлечения звука без сжатия (output.wav) с частотой дискретизации 44100 Гц (-ar 44100) в импульсном коде, модулированном со знаком , 16-разрядными символами с прямым порядком байтов (-acodec pcm_s16le) и 2 каналы (стерео) (-ac 2) используют следующую команду.

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

Другие опции -acodec : mp3 flac m4a .

-acode flac преобразует в 24-битный файл. Для 16-битной выборки это должно быть

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

файлы wav и flac больше, чем файл mp4

преобразование ac3 работает с -acodec 3F2R/LFE -ac 6 но создает 4 фиктивных дорожки, как проверено в Audacity.

Для конвертации mp3 просто используйте

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

Можно получить больше опций для ввода и вывода, попробовав из списка, полученного из командной строки на терминале

$ ffmpeg -help
15

Файлы wav обычно содержат несжатый звук, и это значение по умолчанию при создании файла wav с использованием ffmpeg . Таким образом, ваша команда уже сохранит максимальное качество, поскольку отсутствует сжатие с потерями (или любое другое сжатие) для снижения качества.

Предполагая, что исходное аудио сжато, вы можете сохранить то же качество без большого размера файла, необходимого для несжатого аудио, просто скопировав исходное аудио (без видео) в новый файл mp4 :

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

Вы также можете перекодировать его или преобразовать в другой аудиокодек, но если этот кодек использует сжатие с потерями, качество будет потеряно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .