Работа с аудио в Linux

Предлагаю рассмотреть данную тему на примерах из жизни.

Вырезать понравившуюся мелодию из видео.

Шаг 1: смотрим, в каком формате хранится аудиодорожка в видео
ffmpeg -i 'video.mp4' 2>&1 | grep Audio | sed 's/Audio: \(.*\), start/\1/g'
Видим строку типа
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 281 kb/s (default)
которая говорит о том, что видео хранится в формате aac.
Иногда бывает, что в файле несколько аудиодорожек, тогда в выводе увидим что-то типа
Stream #0:1(rus): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)

Шаг 2: вырезаем аудиодорожку в отдельный файл.
Если хотим вырезать дорожку без перекодирования
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Если в видео несколько аудиодорожек и мы хотим вырезать вторую, то слегка меняем вышеприведенную команду
ffmpeg -i video.mp4 -map 0:2 -vn -acodec copy audio.aac
Если хотим вырезать дорожку и сразу перекодировать ее в mp3
ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192K -f mp3 audio.mp3

Шаг 3: определяем продолжительность понравившейся мелодии и время ее начала.
Это можно сделать при помощи любого аудио- или видеоплейера. Не забудьте записать эти значения.

Шаг 4: непосредственно вырезание нужного отрезка без перекодирования.
ffmpeg -i audio.aac -ss 00:02:54 -t 300 -acodec copy output.aac
Эта команда вырежет участок длинной 300 секунд, начиная со второй минуты 54-ой секунды. Для любителей большой точности к секундам можно добавить тысячные доли секунды в формате 00:02:54.472.

Разделить flac на треки

Шаг 1: устанавливаем пакеты shntool и flac

Шаг 2: нарезаем flac на треки
shnsplit -f "abba.cue" -o flac -t "%n %t" "abba.flac"

Конвертируем flac в mp3

Тут все просто - после ключа -ab указываем необходимый битрейт. В данном примере 256 Кбит/сек.
ffmpeg -i "abba.flac" -ab 256k "abba.mp3"

Конвертируем flac в wav

А тут еще проще - никаких ключей и параметров.
ffmpeg -i "abba.flac" "abba.wav"

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *