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

FFmpeg на Linux: установка и практическое руководство

7 min read Видео Обновлено 04 Jan 2026
FFmpeg на Linux: установка и практическое руководство
FFmpeg на Linux: установка и практическое руководство

Видео: редактирование звука и видео с помощью FFmpeg на Linux

FFmpeg — универсальный бесплатный инструмент для конвертации, обработки и анализа аудио и видео на Linux. Установите пакет из репозитория вашей дистрибуции, используйте простые однострочные команды для конвертации, обрезки, извлечения звука и создания GIF, а также применяйте фильтры для масштабирования, обрезки и поворота.

В этом руководстве вы найдёте команды установки, базовые и продвинутые примеры, шпаргалку по параметрам, чек-листы для ролей и рекомендации по отладке и совместимости.

Введение в FFmpeg

FFmpeg — это свободная и открытая утилита для работы с мультимедиа. Она поддерживает практически все популярные кодеки (H.264, H.265, VP8, VP9, AAC, OPUS и др.), контейнеры (MP4, MKV, WEBM, MP3 и т. п.) и протоколы потоковой передачи (HTTP, RTMP, RTSP, HLS).

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

Ключевые преимущества:

  • Работает на низкопроизводительном железе.
  • Нет графического интерфейса по умолчанию — всё через команды (удобно для автоматизации).
  • Гибкость: фильтры, кодеки и контейнеры можно комбинировать.

Важно: FFmpeg изменяет файлы только при явном указании выходного имени. По умолчанию исходный файл остаётся нетронутым.

Установка FFmpeg на Linux

FFmpeg доступен в репозиториях большинства крупных дистрибутивов. Ниже — примеры установки. Выполняйте команды с правами sudo или как root.

# Debian
sudo apt install ffmpeg

# Fedora
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf -y install ffmpeg

# RHEL/CentOS
yum install ffmpeg ffmpeg-devel

# Arch Linux
pacman -S ffmpeg

После установки проверьте версию:

ffmpeg -version

Вывод команды ffmpeg -version с информацией об установленной версии FFmpeg

Получение информации о видео

Чтобы просмотреть метаданные и параметры кодирования файла, используйте флаг -i:

ffmpeg -i example-video.mp4 -hide_banner
  • Параметр -hide_banner скрывает служебный баннер и лишнюю служебную информацию. Можно убрать его, чтобы увидеть все заголовки и сборочную строку.

Информация о видео, полученная через ffmpeg -i, включает кодеки, метаданные и структуру потоков

Базовые операции: конвертация форматов

FFmpeg выполняет конвертацию одним вызовом: указали вход, указали выход — получили новый файл.

Конвертация MOV в MP4

ffmpeg -i input-mov-video.mov output-video.mp4

ffmpeg автоматически подбирает кодеки по умолчанию. Если нужно сохранить кодеки (без перекодирования), используйте -c copy.

Конвертация WAV в MP3

ffmpeg -i example-wav.wav -vn -ar 48000 -ac 2 -b:a 256k output.mp3

Разбор параметров:

  • -vn — отключить видеопоток (если файл содержит картинку/обложку).
  • -ar 48000 — частота дискретизации (48 kHz).
  • -ac 2 — количество каналов (2 = стерео).
  • -b:a 256k — битрейт аудио 256 kbit/s.

Операции с аудио

Извлечение звуковой дорожки из видео:

ffmpeg -i example-video.mp4 -vn output.mp3

Удаление звука из видео (мьют):

ffmpeg -i example-video.mp4 -an output-mute.mp4

Обрезка и временные отрезки

Основные параметры:

  • -ss — начало фрагмента (можно указывать в формате HH:MM:SS или в секундах).
  • -to — время окончания (или -t для длительности).
  • -c — кодек для выходного файла (например, -c copy для копирования потоков без рекодирования).

Пример обрезки без рекодирования:

ffmpeg -i example-video.mp4 -ss 00:02:25 -to 00:03:50 -c copy output-trim.mp4

Если нужно точное кадрирование на уровне ключевых кадров, переместите -ss перед опцией -i (ускоренная, но менее точная позиция) или оставьте после -i для точного кадра.

Обрезка кадра (crop) и фильтры

Обрезка кадра внутри изображения:

ffmpeg -i example-video.mp4 -filter:v "crop=w:h:x:y" output-crop.mp4

Параметры:

  • filter:v — применяет видеофильтр.
  • crop — операция обрезки.
  • w:h:x:y — ширина, высота, смещение по X и Y.

Пример: взять центральную область в 1280x720:

ffmpeg -i input.mp4 -filter:v "crop=1280:720:(in_w-1280)/2:(in_h-720)/2" output.mp4

Масштабирование и трансформация

Изменение разрешения:

ffmpeg -i example-video.mp4 -vf scale=1920:1080 output-scale.mp4

Повороты и транспонирование:

ffmpeg -i example-video.mp4 -vf "transpose=2" output-rotate.mp4

Значения transpose:

  • 0 — поворот на 90° по часовой (и вертикальное отражение).
  • 1 — поворот на 90° по часовой.
  • 2 — поворот на 90° против часовой.
  • 3 — поворот на 90° против часовой и вертикальное отражение.

Для поворота на 180° примените transpose дважды:

ffmpeg -i example-video.mp4 -vf "transpose=2,transpose=2" output-rotate-180.mp4

Объединение нескольких видео

Если клипы имеют одинаковые кодеки и параметры, создайте текстовый список:

# my-video-list.txt
file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'

Затем запустите:

ffmpeg -f concat -i my-video-list.txt -c copy sum-output.mp4

Если кодеки различаются, перекодируйте файлы или используйте intermediate формат.

Работа с FPS и GOP

  • FPS — кадры в секунду. Изменение FPS:
ffmpeg -i example-video.mp4 -vf "fps=60" output-fps.mp4
  • GOP — расстояние между ключевыми кадрами (параметр -g). Большие значения g уменьшают количество ключевых кадров, но слишком большие значения могут ухудшить качество при сценических сменах.
ffmpeg -i example-video.mp4 -g 200 output-gop.mp4

Создание GIF анимации

Базовая конвертация в GIF:

ffmpeg -i example-video.mp4 output-gif.gif

Более гибкий пример со временем и частотой кадров:

ffmpeg -ss 00:01:15 -i example-video.mp4 -to 10 -r 10 -vf scale=250:-1 output-gif.gif
  • -r — количество кадров в секунду для GIF.
  • scale=250:-1 — масштабирование по ширине с сохранением пропорций.

Извлечение кадров

Извлечь по одному кадру в секунду и пронумеровать файлы двумя цифрами:

ffmpeg -i example-video.mp4 -r 1 image-%02d.jpeg

Можно менять формат на PNG, BMP и т. д.

Шпаргалка по часто используемым параметрам

ПараметрНазначение
-i <файл>Входной файл
-hide_bannerСкрыть служебную строку
-vnОтключить видео
-anОтключить аудио
-ssВремя начала
-toВремя окончания
-tДлительность
-c, -codecВыбор кодека или copy для копирования
-vf, -filter:vВидео-фильтры (scale, crop, transpose и др.)
-rЧастота кадров
-arЧастота дискретизации аудио
-acКоличество аудиоканалов
-b:aБитрейт аудио
-gИнтервал ключевых кадров (GOP)

Примеры сценариев и шаблоны команд

  1. Быстрая рекомпрессия H.264 с выходным битрейтом 1M:
ffmpeg -i input.mp4 -c:v libx264 -b:v 1M -c:a aac -b:a 128k output.mp4
  1. Извлечь 30-секундный клип с точным кадрированием:
ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c:v libx264 -c:a aac clip.mp4
  1. Создать WebM с кодеком VP9:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 0 -crf 30 -c:a libopus output.webm

Методология подготовки и автоматизации обработки

Мини-метод: как работать с серией файлов

  1. Проанализируйте входы: ffprobe или ffmpeg -i.
  2. Определите целевой формат и параметры (кодек, битрейт, разрешение).
  3. Сформируйте шаблон команд для пакета файлов (скрипт на bash/Makefile).
  4. Запустите на тестовой паре файлов и проверьте качество.
  5. Автоматизируйте с логированием ошибок и резервным копированием.

Чек-листы по ролям

  • Для монтажёра:

    • Проверить кодеки и разрешение исходников.
    • Использовать -c copy для быстрого объединения при совпадении кодеков.
    • Тестировать резкость и звук после перекодирования.
  • Для разработчика/инженера CI:

    • Автоматизировать конвертацию в CI-пайплайне.
    • Добавить контроль целевого размера и SLO (макс. время выполнения).
    • Логировать вывод ffmpeg для диагностики.
  • Для контент-менеджера:

    • Согласовать целевой формат с платформой (YouTube, соцсети).
    • Использовать шаблоны для миниатюр и GIF.

Совместимость и заметки по дистрибутивам

  • Debian/Ubuntu: пакет ffmpeg официально доступен. Для специальных кодеков (например, некоторых патентованных) может потребоваться подключить внешние репозитории.
  • Fedora: используйте RPM Fusion для доступа к свободным медиапакетам.
  • RHEL/CentOS: официальные репозитории могут не содержать ffmpeg — используйте EPEL или сторонние сборки.
  • Arch Linux: ffmpeg в официальных репозиториях, часто самая свежая версия.

Отладка и типичные ошибки

  • “Unknown encoder” — у вас нет нужного кодека в сборке ffmpeg. Решение: установить сборку с поддержкой кодека или перекодировать в доступный кодек.
  • Проблемы с синхронизацией аудио/видео — попробуйте удалить -c copy и явно указать кодеки; использовать -async или корректировать тайминги.
  • Большие задержки при -ss перед -i — используйте -copyts и другие параметры для точной синхронизации.

Безопасность и приватность

  • Будьте внимательны при обработке защищённых или персональных данных. Если файл содержит личную информацию, удалите метаданные (например, ffmpeg может сбрасывать часть метаданных, но лучше явно очищать с помощью ffprobe и инструментов редактирования метаданных).
  • В автоматизации избегайте передачи чувствительных файлов на публичные сервера без шифрования.

Контрпримеры и пределы применения

  • FFmpeg не заменит профессиональные нелинейные монтажные системы для сложной монтажной работы (цветокоррекция, сложные переходы, многодорожечный звук). Для таких задач лучше использовать DaVinci Resolve, Adobe Premiere или Kdenlive.
  • Для живой потоковой трансляции с интерактивными эффектами могут потребоваться специализированные решения (OBS, Wowza) вместе с FFmpeg.

Диаграмма выбора операции (быстрое руководство)

flowchart TD
  A[У вас есть видео] --> B{Что нужно сделать?}
  B -->|Извлечь звук| C[ffmpeg -i input -vn out.mp3]
  B -->|Удалить звук| D[ffmpeg -i input -an out.mp4]
  B -->|Обрезать| E[ffmpeg -i input -ss START -to END -c copy out.mp4]
  B -->|Конвертировать формат| F[ffmpeg -i input out.ext]
  B -->|Сделать GIF| G[ffmpeg -ss START -i input -to DURATION -r FPS -vf scale=W:-1 out.gif]
  B -->|Извлечь кадры| H[ffmpeg -i input -r 1 image-%02d.jpg]

Критерии приёмки

  • Выходной файл открывается в целевой среде (браузер/плеер) без ошибок.
  • Аудио/видео синхронизированы в пределах допустимого порога.
  • Размер и качество соответствуют требованиям (если задано).

Часто используемые шаблоны команд (чек-лист)

  • Быстрая проверка метаданных: ffmpeg -i file
  • Извлечение аудио: ffmpeg -i file -vn audio.mp3
  • Удаление звука: ffmpeg -i file -an nosound.mp4
  • Быстрое объединение: ffmpeg -f concat -i list.txt -c copy out.mp4
  • Извлечение кадров: ffmpeg -i file -r 1 frame-%03d.png

Сводка

  • FFmpeg — мощный и гибкий инструмент для большинства задач по обработке медиа на Linux.
  • Часто достаточно одно-двух команд для выполнения рутинных операций: конвертация, обрезка, извлечение аудио, создание GIF.
  • Для сложного монтажа и цветокоррекции используйте профессиональные NLE-пакеты; FFmpeg лучше подходит для автоматизации и пакетной обработки.

Ключевые действия: установить ffmpeg из репозитория, проверить входной файл через -i, собрать шаблон команд и протестировать на нескольких файлах.

Дополнительные ресурсы: используйте ffmpeg –help и man ffmpeg для справки по параметрам и фильтрам.

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

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство