ffmpeg

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

Особенности

  • полная кросс-платформенность (Linux, macOS, Windows, Android, iOS);
  • поддержка широкого спектра аудио- и видеоформатов, включая редкие и устаревшие;
  • мощный набор инструментов для командной строки (ffmpeg, ffprobe, ffplay);
  • модульная архитектура с возможностью статической или динамической компоновки;
  • высокая производительность и низкие накладные расходы, поддержка аппаратного ускорения;
  • открытая лицензия (LGPL/GPL) с возможностью коммерческого использования;
  • поддержка потоковой передачи через HTTP, RTMP, RTSP, HLS, DASH и другие протоколы;
  • расширяемость через систему фильтров и возможность подключения внешних кодеков.

Основные компоненты

FFmpeg состоит из набора библиотек, каждая из которых отвечает за определённый аспект обработки мультимедиа (подробнее с документацией можно ознакомиться здесь). Архитектура проекта позволяет использовать библиотеки как вместе, так и по отдельности в зависимости от задач.

Обработка аудио и видео

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

Ключевые библиотеки:

  • libavcodec — библиотека кодирования и декодирования аудио/видео, содержащая более 1000 кодеков;
  • libavformat — библиотека для работы с медиаконтейнерами (мультиплексирование и демультиплексирование);
  • libavfilter — система фильтров для обработки и преобразования медиапотоков с поддержкой графов обработки;
  • libavutil — вспомогательные утилиты и структуры данных, включая математические функции, хеширование, CRC;
  • libswscale — масштабирование и конвертация цветовых пространств изображений с оптимизациями под различные архитектуры CPU;
  • libswresample — передискретизация, микс и конвертация аудиосэмплов с поддержкой различных форматов;
  • libpostproc — библиотека постобработки видео (устаревшая, но сохраняется для совместимости).

Кодеки и форматы

FFmpeg поддерживает сотни кодеков и медиаформатов, обеспечивая совместимость практически с любым существующим медиаконтентом. Поддержка включает как современные форматы (HEVC, AV1, Opus), так и устаревшие. Библиотека постоянно обновляется для поддержки новых стандартов.

Примеры поддерживаемых кодеков:

  • Видео: H.264, HEVC, VP9, AV1, MPEG-2, MPEG-4, ProRes, DNxHD, MJPEG, VC-1;
  • Аудио: AAC, MP3, Opus, Vorbis, FLAC, PCM, AC-3, DTS, WMA, ALAC;
  • Контейнеры: MP4, MKV, AVI, MOV, MPEG-TS, WebM, FLV, OGG, WAV, MP3;
  • Субтитры: SRT, ASS, WebVTT, DVD субтитры, Teletext;
  • Протоколы: HTTP, HTTPS, RTMP, RTSP, HLS, DASH, FTP, SMB, RTP, UDP.

Фильтры и обработка в реальном времени

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

Примеры фильтров:

  • scale — изменение разрешения видео с различными алгоритмами интерполяции;
  • crop — обрезка кадра по заданным координатам;
  • overlay — наложение одного видео на другое с поддержкой альфа-канала;
  • eq — коррекция цвета, яркости, контрастности и насыщенности;
  • volume — регулировка громкости аудио с поддержкой нормализации;
  • concat — склейка нескольких потоков без перекодирования;
  • drawtext — наложение текста на видео с поддержкой шрифтов и эффектов;
  • fade — эффекты плавного появления и исчезновения;
  • hwupload и hwdownload — загрузка и выгрузка кадров в аппаратную память для ускоренной обработки.

Утилиты командной строки

FFmpeg включает несколько готовых инструментов для работы с медиафайлами без необходимости написания кода. Эти утилиты предоставляют мощный интерфейс для автоматизации задач обработки мультимедиа и широко используются в скриптах и системах автоматизации.

Основные инструменты:

  • ffmpeg — универсальный конвертер и процессор медиафайлов, поддерживающий тысячи параметров;
  • ffprobe — анализ медиафайлов и извлечение метаданных, информации о кодеках и потоках;
  • ffplay — простой медиаплеер для воспроизведения и тестирования с поддержкой фильтров в реальном времени.

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "ffmpeg/7.0.1@aurora",
    )    

Процесс локальной сборки описан в документации.

ffmpeg

A toolbox to manipulate, convert and stream multimedia content
Лицензия
LGPL-2.1-or-later
Версия
Скачать
armv8
9.49 Mb
MD5: 11cde8aa8a05eafcd33041e0958772c9
Updated: 04.02.2026, 13:06:57
x86_64
9.34 Mb
MD5: 26794cb135cf2cd33b9a2ec2fde26c4a
Updated: 04.02.2026, 13:03:11
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.