~Rami ₪ MANUALS
רמי
SUBJECT: FFMPEG: Примеры конвертирования
AUTHOR: Rami Rosenfeld
DATE: 18/01/25; upd. 13.03.2025
TIME: 01.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, converter, ffmpeg
FFMPEG: Примеры конвертирования
INTRO
В январе я наконец-то добрался до самых отдаленных уголков своей громадной музыкальной коллекции: в тот временный каталог, который содержал неразобранные мультимедийные файлы, скачанные из разных источников и разными способами. Вполне естественно, что в директории наличествовали звуковые дорожки в форматах m4a, webm и прочем непотребстве, которые мне нужно было переконвертировать в mp3. Поиск в интернете дал много полезных примеров, но, если честно, авторы консольных команд были слишком уж зациклены на отдельных аспектах конвертирования (в частности - изменении битрейта и т.п.). Поэтому я бегло ознакомился с man'ом ffmpeg и быстро нашел простой способ. Проверил - он работает!
Примечание: Это одно из немногих технических руководств, в котором я, за экономией времени, воспользовался чужими советами (естественно, упорядочив и проверив их на собственной практике). Отличные примеры по пакетному конвертированию FFMPEG приводит в своем блоге простой индийский парень Кришна (почти что Господь Кришна! - "Харе-Харе!"), за что ему отдельное спасибо. Рекомендую:
NOTE
На самом деле, процесс конвертирования невероятно прост: достаточно указать оригинальный (входной) и конечный файлы, а уж ffmpeg сам разберется, что вам нужно - исходя из расширений файлов.
- Простейшие примеры конвертирования одиночных аудиофайлов (без дополнительных параметров)
ffmpeg -i file_1.m4a file_1.mp3
ffmpeg -i file_2.webm file_2.mp3
... и так далее. Удобно и легко!
UPD.: Более сложные варианты примеров
- Конвертирование множественных аудиофайлов и перемещение их в целевую папку
ls
file_1.m4a
file_2.m4a
file_3.m4a
(...)
mkdir converted
for f in *.mp4; do ffmpeg -i "$f" "converted/${f%.mp4}.mp3"; done
Примечание: Данная команда переконвертирует все файлы с расширением *.mp4 в *.mp3 (с сохранением имен файлов) и переместит результаты работы в предварительно созданный подкаталог "converted" родительской папки.
- Конвертирование множественных аудиофайлов в разных звуковых форматах и перемещение их в целевую папку - с изменением битрейта и воспроизводимого диапазона частот
for %f in (*.wav *.mp3 *.mp4) do ffmpeg -i "%f" -b:a 128k -ar 44100 "%~nf_new.ogg"
Примечание: Данная команда переконвертирует любые файлы с указанными расширениями (*.wav *.mp3 *.mp4) в *.ogg. При этом аудиобитрейт (-b:a) будет принудительно изменен до 128k, а диапазон частот (-ar) - до 44100 KHz.
Примечание: Я не рекомендую (если, конечно, вы не маньяк-аудиофил) устанавливать большие значения "-b:a" и "-ar" (лично для меня достаточно 96k и 22+ KHz) - все равно ваше ухо не услышит частоты выше 16 KHz. К тому же, бОльшие значения приводят к увеличению размера конечного файла.
- Извлечение, переконвертирование и сохранение аудиодорожки из видеофайла
ffmpeg -i input.mp4 -vn output.mp3
Дополнительно см.: man ffmpeg
🄯 Rami Rosenfeld, 2025. GNU FDL 1.3.