Гид по технологиям

Массовая конвертация аудио в Linux с помощью FFmpeg

• 4 min read • Аудио • Обновлено 10 Dec 2025
Конвертация аудио в Linux с FFmpeg
Конвертация аудио в Linux с FFmpeg

Ноутбук с AV Linux и DAW Ardour перед студийным монитором.

Быстрые ссылки

  • Сначала убедитесь, что установлен FFmpeg
  • Linux — отличная платформа для редактирования аудио

Важно: перед выполнением любых команд внимательно проверьте пути и сделайте резервную копию исходных файлов.

Что такое FFmpeg (одна строка)

FFmpeg — это бесплатный набор командной строки для конвертации, кодирования и обработки аудио/видео файлов.

Сначала — убедитесь, что у вас установлен FFmpeg

FFmpeg доступен в репозиториях большинства дистрибутивов Linux. На Debian/Ubuntu установите его так:

sudo apt install ffmpeg

На Fedora/Red Hat используйте:

sudo dnf install ffmpeg

На Arch Linux:

sudo pacman -S ffmpeg

FFmpeg также работает на Windows и macOS, но в этой статье рассмотрены команды для терминала Linux.

Примечание: проверяйте команды из интернета перед запуском. Понимайте, какие файлы будут перезаписаны.

Конвертация формата файлов (массовая)

Пример: конвертация всех WAV в директории в MP3 с сохранением имён:

for file in /path/to/source_directory/*.wav; do ffmpeg -i "$file" "/path/to/output_directory/$(basename "${file%.*}.mp3")"; done

Пояснение по шагам:

  • Цикл for перебирает все файлы с расширением .wav в исходной папке. Переменная $file содержит путь к текущему файлу.
  • Опция -i указывает входной файл для ffmpeg.
  • FFmpeg по расширению выходного файла сам определит контейнер/кодек.

Популярные форматы: MP3, AAC, OGG, WAV, FLAC, M4A, WMA, AIFF.

Совет: если нужно строго задать кодек, указывайте его явно, например для MP3:

ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3

Изменение битрейта (массовая операция)

Пример: снизить битрейт всех MP3 до 128 kbps:

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -b:a 128k "/path/to/output_directory/$(basename "${file%.*}_128k.mp3")"; done

Краткая справка по битрейтам:

  • 320k — почти CD-качество
  • 256k — высокое качество
  • 192k — стандартное качество
  • 128k — качество FM-радио

Важно: уменьшение битрейта — необратимая потеря качества. Повторное повышение битрейта не восстановит данные.

Нормализация громкости

Чтобы выровнять уровень громкости (избежать резких перепадов):

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -filter:a loudnorm "/path/to/output_directory/$(basename "${file%.*}_normalized.mp3")"; done

Фильтр loudnorm — это реализация стандарта ITU-R BS.1770 для выравнивания LUFS. Для более тонкой настройки можно добавить параметры (I, LRA, TP), но для большинства задач дефолтных настроек достаточно.

Конвертация стерео/моно

Сделать все файлы моно (экономит место, полезно для разговорных записей):

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -ac 1 "/path/to/output_directory/$(basename "${file%.*}_mono.mp3")"; done

Вернуть моно в стерео (простое дублирование канала):

for file in /path/to/source_directory/*.mp3; do ffmpeg -i "$file" -ac 2 "/path/to/output_directory/$(basename "${file%.*}_stereo.mp3")"; done

Примечание: при конвертации стерео → моно данные теряются (левый и правый каналы смешиваются).

Пакетное переименование файлов

Добавить суффикс _renamed ко всем MP3:

for file in /path/to/source_directory/*.mp3; do cp "$file" "/path/to/output_directory/$(basename "${file%.*}_renamed.mp3")"; done

Если вы часто запускаете такие операции — оформите их как Bash-скрипт и храните версии с датой.

Шаблон простого Bash-скрипта для повторного использования

#!/bin/bash
SRC="/path/to/source_directory"
DST="/path/to/output_directory"
mkdir -p "$DST"
for file in "$SRC"/*.wav; do
  echo "Processing: $file"
  ffmpeg -i "$file" -c:a libmp3lame -b:a 192k "$DST/$(basename "${file%.*}.mp3")"
done

Сохраните как convert_audio.sh, сделайте исполняемым (chmod +x) и запускайте.

Краткий cheat‑sheet — полезные команды

# Конвертация формата
ffmpeg -i in.wav out.mp3

# Смена битрейта
ffmpeg -i in.mp3 -b:a 128k out_128k.mp3

# Нормализация громкости
ffmpeg -i in.mp3 -filter:a loudnorm out_norm.mp3

# Конвертация в моно
ffmpeg -i in.mp3 -ac 1 out_mono.mp3

# Извлечь аудио из видео
ffmpeg -i in.mp4 -vn -acodec copy out.aac

# Перекодировать аудио из видео
ffmpeg -i in.mov -c:a libmp3lame -b:a 192k out.mp3

Мини‑методология: как безопасно выполнять массовые операции

  1. Сделайте резервную копию исходной папки.
  2. Протестируйте цикл на 3–5 файлах перед полной обработкой.
  3. Используйте отдельную выходную папку, чтобы избежать перезаписи.
  4. Смотрите лог ffmpeg в терминале: в нём отображаются ошибки кодеков и предупреждения.
  5. При неожиданном результате остановите цикл (Ctrl+C) и проанализируйте.

Когда этот подход не сработает

  • Источник содержит DRM или защищённый кодек — ffmpeg не сможет расшифровать файл.
  • Нужна ручная обработка: реставрация шумов, выравнивание фаз, сложное эквалайзирование.
  • Требуется музыкальная мастеринговая обработка — автоматическая нормализация не заменит инженера-марстера.

Роль‑ориентированные чек‑листы

Для подкастера:

  • Сделать резервную копию оригиналов
  • Нормализовать громкость (loudnorm)
  • Обрезать тишину, удалить клики вручную при необходимости
  • Экспорт в MP3 192k или 128k в зависимости от аудитории

Для архивиста:

  • Сохранять копии в lossless (FLAC/WAV)
  • Создавать дополнительные сжатые копии для распространения
  • Документировать метаданные и кодеки

Для разработчика/автоматизатора:

  • Писать idempotent-скрипты (не перезаписывать исходники)
  • Логировать операции и ошибки
  • Добавить проверки целостности (md5/sha1) если нужно

Диаграмма принятия решения (Mermaid)

flowchart TD
  A[У вас много файлов?] -->|Нет| B[Используйте GUI инструмент]
  A -->|Да| C[Нужно быстро и повторяемо]
  C --> D{Требуется качество lossless?}
  D -->|Да| E[Экспорт в FLAC/WAV]
  D -->|Нет| F{Требуется экономия места?}
  F -->|Да| G[Снизить битрейт + моно если можно]
  F -->|Нет| H[Нормализовать громкость и конвертировать в MP3/AAC]

Тестовые случаи и критерии приёмки

  • Проверить на 5 файлов различных длительностей: команды успешно отрабатывают и создают файлы в выходной папке.
  • Размеры файлов и битрейты соответствуют ожидаемым параметрам.
  • При нормализации громкости уровень LUFS на выходе приблизительно одинаков для тестовых файлов.

Безопасность и конфиденциальность

  • Если файлы содержат личные данные, работайте в защищённой среде и удаляйте временные файлы.
  • Перед передачей файлов третьим лицам убедитесь, что вы имеете право на это.

Советы по производительности

  • Для больших партий файлов распараллеливайте обработку (GNU parallel или фоновые процессы), но следите за загрузкой диска и CPU.
  • Используйте SSD для ускорения операций ввода/вывода.

Локальные альтернативы и ошибки для России/Европы

  • Проверьте совместимость кодеков с целевой платформой распространения (радио, подкаст‑хостинг, архивы).
  • Для радиотрансляции уточняйте требования к битрейту и форматам у вашей станции.

Короткое резюме

FFmpeg в терминале — быстрый и надёжный способ массовой обработки аудио: конвертация форматов, изменение битрейта, нормализация громкости, смена каналов и пакетное переименование. Всегда тестируйте команды на небольшой выборке и делайте резервные копии.

Важно: автоматизация экономит время, но не заменяет ручную мастеринг‑обработку для музыки.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро