Витягування wav з mp4 із збереженням максимально високої якості


38

Я переглянув документацію, і я можу витягнути wavфайл із mp4файлу за допомогою команди:

ffmpeg -i my_video.mp4 output_audio.wav

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

Відповіді:


18

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

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

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

Ви також можете його перекодувати або перетворити на інший аудіокодек, але якщо цей кодек використовує стиснення втрат, якість буде втрачена.


Дякую. Що про частоту вибірки та кількість байтів в секунду? Як ffmpeg обирає їх автоматично?
Амеліо Васкес-Рейна

Частота вибірки буде такою ж, як і вхідних даних. Тому що це нестиснене, бітрейт для wavфайлу є просто частотою дискретизації × розміру вибірки × кількості каналів . Якщо ви хотіли знизити якість, ви можете попросити ffmpegперевпорядкувати його на нижчу швидкість, змінити його на 8-бітний PCM або downmix на моно, але це не робить це за замовчуванням.
mark4o

1
До речі, ви також можете попросити його повторно проводити вибірку з більш високою швидкістю, але це просто збільшить розмір файлу, а не якість, тому в цьому немає особливого сенсу, якщо вам не потрібна конкретна швидкість вибірки.
mark4o

1
У моїй системі з Ubuntu 14.04 мені довелося використовувати -acodec copyзамість-c copy -map 0:a
Даніель Олдер

Це не експортується як хвильовий файл і не відповідає на питання.
Андрій

20

Витяг без втрат / втрат аудіо з відео ( flv / mp4 to wav / flac / mp3) Використання ffmpegверсії 2.3.1 в Ubuntu 14.04

Відвідайте: http://howto-pages.org/ffmpeg/

Насамперед знайдіть основні дані з джерела. Відкрийте відео у програвачі VLC. Йти до

> 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

1
Це не дає відповіді на запитання. ОП вже знає, як витягнути аудіо як WAV-файл. Вони запитують, як контролювати якість - що, звичайно, насправді неможливо, і тому повинна була відповісти (як, наприклад, mark4o). MP3 та FLAC також виходять за рамки.
slhck

Я прийшов до цього посилання для вирішення питання, і коли я працював, я отримав ще кілька, як я вже згадував. Як я зрозумів, і над цим я також працював, це питання: "як я можу контролювати якість файлу WAV? (Наприклад, скажіть, що хочу зберегти якість оригінального аудіо як можна більше"). Я не технік, а хобіст і новачок у Ubuntu та ffmpeg. $ ffmpeg -i input.mp4 також дає всю стартову якість, і параметри можна відповідно додати, щоб отримати максимум.
dr.murli

Unknown encoder 'pcm_s161e'будь ласка, порадьте, як вирішити це.
kRazzy R
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.