Недавно захотел извлечь звуковые дорожки из некоторых видео клипов. Как вытянуть дорожку из одного видео файла, в сети полным полно информации, а вот как применить какую-нибудь команду в Терминале для извлечения звука из группы видео файлов, я пока, что не нашел, а своих познаний пока не хватает. Поэтому в данном случае на помощь пришли графические утилиты.
Вариант первый. Нам поможет отличная программа — WinFF. Добавим нужные видео клипы в программу через кнопку Добавить.
Далее, в нижней части программы, во вкладке Сведения вывода, установим следующие настройки:
Преобразовать в: Audio
Параметры: MP3
Папка вывода: выбираем папку, в которую хотим сохранить результат.
Во вкладке Звук устанавливаем нужный битрейт звука и количество каналов. Я установил соответственно: 256 и 2.
После этих настроек жмем кнопку Преобразовать и ожидаем окончания работы программы. Программу можно установить через Центр Приложений Убунту, либо командой:
sudo apt-get install winff
Можно также воспользоваться программой FFMultiConverter. Установим программу командами в Терминале:
sudo add-apt-repository ppa:ffmulticonverter/stable
sudo apt-get update
sudo apt-get install ffmulticonverter
По аналогии с утилитой WinFF, в программе FFMultiConverter не сложно разобраться.
- Выбираем нужные видео файлы
- Выбираем формат для сохранения
- В параметре Команда, можно установить нужный битрейт и количество каналов
- Устанавливаем папку для сохранения результата
- Жмем кнопку Конвертировать
Для одиночного файла можно еще воспользоваться отличным редактором AviDemux. Откроем нужный файл. Далее идем Звук — Кодировщик. Тут нужно выбрать формат сохранения, например MP3(Lame). Потом жмем Настройка кодека. В данном параметре указываем количество каналов и битрейт. И в конце: Звук — Сохранить, указываем место для сохранения звуковой дорожки. Обязательно к имени файла нужно будет дописать .mp3, если конечно сохраняете в этом формате)))
Установить видео редактор AviDemux можно через Центр Приложений Убунту.
Если хотите проделать это при помощи Терминала и FFmpeg, то команда будет следующей:
ffmpeg -i Amir_Farjam_LEILY.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
где, Amir_Farjam_LEILY.mp4 — название видео файла. Если ваш файл имеет пробелы в имени, то либо переименуйте его в одно слово, либо вместо пробелов вставьте _ (как сделано в моем примере)
ac 2 -ab 192 -f mp3 — 2 канала(стерео) и битрейт 192кб/с, выходной формат mp3
sound.mp3 — название входного файла с расширением .mp3
p.s. После написания статьи я искал решение, как массово извлечь звук из определенной папки, используя какую-нибудь команду или скрипт в Терминале. Помог мне в этом пользователь peregrine и inkblack с форума forum.ubuntu.ru/. Для этого заходим в папку с нужными клипами и запускаем в нем Терминал и выполняем следующий скрипт:
#!/bin/sh
mkdir cash
for f in *.avi *MOV *.mkv *.mp4 *.mpg ;
do
ffmpeg -i "$f" -vn -ar 44100 -ac 2 -ab 192k -f mp3 cash/"${f%.*}".mp3
done
В этой же папке появится директория Cash, в которой и будут находится извлеченные звуковые дорожки. Этот скрип можно применять к видео файлам, которые имеют следующие расширения: .avi, MOV, .mkv, .mp4 , .mpg. Кстати, проблема пробелов, в названии файлов, в данном скрипте решена.
Всем удачи!
Ещё можно через Audacity.
Спасибо. Скрины в Shutter делаете ))
Спасибо за статью!
Добавлю к теме:
Субъективно, как один из вариантов — может кому пригодиться — в видеофайлах — какую аудиодорожку «положили при рендеринге» то там и лежит.
Чем лучше качество аудио-исходника — тем, естественно, лучше.
Есть разница — между извлечением оригинальной аудио-дорожки и конвертированием в какой-то свой формат, и самое главное — битрэйт.
Апконверт — это когда из аудиофайла с низким битрэйтом «выгоняется» аудиофайл с более высоким битрэйтом, чем в исходнике.
Апконверт, не лучший выбор. Например — если в видеофайле — аудиодорожка 128 kbps — то не имеет смысла её «жать» в 320 kbps.
Если важно качество — то — как вариант — сначала извлечь в несжатый WAV.
А потом — из wav-а — в любой нужный — и формат — и битрэйт.
Так же можно пользоваться WAV-ом.
Можно через Audacity — Экспорт — Экспортировать как WAV
Либо извлечь в терминале:
ffmpeg -i file.mp4 -ac 2 -acodec pcm_s32le sound.wav
где соответственно:
file.mp4 — имя исходного видеофайла
sound.wav — результат извлечения
Можно и сразу в mp3:
ffmpeg -i file.mp4 -acodec libmp3lame -ab 192k -ar 44100 sound.mp3
Учитывая, что настройки (они читаются в коде) в строке можно менять
В данном случае — здесь 192 kbps
Хорошего саунда, удачи
Чтобы посмотреть — что там — в видеофайле — удобно использовать известную утилиту mediainfo
В терминале:
Установить:
sudo apt install mediainfo
Проверить файл:
mediainfo filename.ext
где file.ext — имя файла.расширение
Пока
Ещё бонус плюс к этому:
1-ый вариант
ffmpeg -i file.avi -acodec copy -vn audio.mp3
2-ой вариант
sudo apt install mplayer
mplayer -dumpaudio file.avi -dumpfile audio.mp3
где:
file.avi — исходное видео (путь+имя)
audio.mp3 — итоговое аудио (путь+имя)
Проверено — сначала — с мониторингом видеофайла через mediainfo — потом — извлекает именно существующую аудиодорожку
Спасибо