← Ко всем open source проектам

FFmpeg

FFmpeg/FFmpeg

FFmpeg — набор библиотек и консольных инструментов для обработки видео, аудио, субтитров и метаданных.

Форки 13,938
Автор FFmpeg
Язык C
Лицензия NOASSERTION
Обновлено 2026-06-27

Что это такое

FFmpeg — один из главных инструментов для работы с мультимедиа. Он умеет читать, преобразовывать, кодировать, декодировать, нарезать, склеивать и передавать аудио, видео, субтитры и метаданные.

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

Как устроен стек

FFmpeg состоит из библиотек и утилит. `libavcodec` работает с кодеками, `libavformat` — с контейнерами и потоками, другие библиотеки отвечают за фильтры, масштабирование, устройства и вспомогательные операции.

Консольная команда `ffmpeg` собирает эти возможности в один инструмент. Пользователь описывает вход, выход, кодеки, фильтры и параметры, а FFmpeg строит цепочку обработки.

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

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

Язык: Bash
ffmpeg -i input.mov \
  -vf scale=1280:-2 \
  -c:v libx264 -preset slow -crf 22 \
  -c:a aac output.mp4

Что внутри репозитория

Репозиторий на GitHub является зеркалом исходного кода. Внутри находятся библиотеки, утилиты, документация, тесты и множество реализаций форматов и кодеков. Основная разработка исторически связана с инфраструктурой самого FFmpeg.

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

Практический контекст

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

Сильные стороны и ограничения

Сильная сторона — ширина поддержки. Если нужно обработать редкий контейнер, старый кодек или потоковую схему, FFmpeg часто оказывается первым инструментом для проверки.

Ограничение — сложность параметров. Команда может выглядеть пугающе, потому что мультимедиа само по себе сложно: контейнер, кодек, битрейт, фильтры, таймкоды и совместимость устройств нужно понимать отдельно.