FFmpeg — это набор свободных программных библиотек и утилит для обработки мультимедийных данных, включающий кодирование, декодирование, транскодирование, мультиплексирование и демультиплексирование аудио- и видеопотоков. Центральным компонентом проекта является одноимённая командная строка ffmpeg, предоставляющая гибкий интерфейс для конвертации форматов, применения фильтров, извлечения или объединения потоков, а также для подготовки медиаконтента к воспроизведению и трансляции. Архитектура включает библиотеки для работы с кодеками, контейнерами и фильтрами, что позволяет интегрировать функциональность в сторонние приложения.
Проект развивается сообществом разработчиков и распространяется под лицензиями, совместимыми с открытым исходным кодом, что делает его широко применимым в исследовательских, профессиональных и пользовательских задачах. Исторически FFmpeg возник как набор инструментов для работы с различными мультимедийными форматами и со временем расширил поддержку большого числа контейнеров, кодеков и аппаратных ускорителей. В результате он стал стандартным инструментом в сферах конвертации, пакетной обработки, подготовки контента для потоковой передачи и разработки мультимедийных приложений.
- Кодирование и декодирование — поддержка множества кодеков для сжатия и восстановления аудио- и видеоданных.
- Транскодирование — преобразование между форматами и настройка параметров битрейта, разрешения и кодека.
- Mux/Demux — объединение и разделение потоков внутри контейнеров (MP4, MKV, AVI и др.).
- Фильтрация — применение видеo- и аудиофильтров для коррекции, масштабирования, кадрирования, сведения дорожек и наложения эффектов.
- Потоковая передача — генерация потоков для сетевой передачи и поддержка протоколов вещания и низкоуровневых транспортов.
- Поддержка аппаратного ускорения — интеграция с аппаратными кодерами и декодерами для повышения производительности.
- Инструменты разработки — библиотеки (libavcodec, libavformat, libavfilter и др.) для интеграции в сторонние приложения и создания собственных медиапроцессоров.
- Диагностика и анализ — извлечение метаданных, отображение технической информации о потоках и проверка совместимости форматов.