Выпуск мультимедиа-пакета FFmpeg 7.0

После пяти месяцев разработки доступен мультимедиа-пакет FFmpeg 7.0, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет распространяется под лицензиями LGPL и GPL, разработка FFmpeg ведётся смежно с проектом MPlayer.

Из изменений, добавленных в FFmpeg 7.0, можно выделить:

  • В утилите командной строки ffmpeg обеспечено параллельное выполнение операций распаковки/упаковки медиаконтейнеров, декодирования, кодирования и применения фильтров.
  • Реализована поддержка кодирования и декодирования видео в формате MPEG-5 (EVC — Essential Video Coding), используя внешнюю библиотеку libxevd.
  • Добавлены распаковщики и упаковщики медиаконтейнеров (demuxer/muxer) для формата QOA (Quite OK Audio), применяемого для передачи звука без потери качества. Утверждается, что
    декодирование QOA осуществляется быстрее Ogg-Vorbis в три раза при достижении в QOA более высокого качества и уровня сжатия по сравнению с ADPCM.

  • Добавлены распаковщики и упаковщики медиаконтейнеров (demuxer/muxer) для формата IAMF (Immersive Audio Model and Format), определяющего контейнер для распространения объёмного звука. Формат предусматривает передачу дополнительной информации, необходимой для работы алгоритмов воссоздания звуковой сцены и микширования звука, а также учитывает распространение звуковых сигналов в трехмерном пространстве для воссоздания звучания, максимально близкого к естественному. Обеспечена поддержка метаданных IAMF для форматов MP4 и ISOBMFF.
  • Добавлен экспериментальный декодировщик для формата VVC (Versatile Video Coding), известного также как стандарт сжатия видео H.266, разработанный совместно рабочими группами MPEG (ISO/IEC JTC 1) и VCEG (ITU-T), при участии таких компаний, как Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm и Sony. H.266 идёт на смену H.265 (HEVC) и обеспечивает высокую эффективность передачи и хранения всех экранных разрешений (от SD и HD до 4K и 8K), поддерживает видео с расширенным динамическим диапазоном (HDR, High Dynamic Range) и панорамное видео в режиме 360 градусов.
  • Реализована возможность использования API D3D12VA (Direct 3D 12 Video Encoding) для аппаратного ускорения декодирования форматов H264, HEVC, VP9, AV1, MPEG-2 и VC1.
  • В утилиту ffplay добавлена поддержка аппаратного ускорения декодирования, используя API Vulkan и libplacebo.
  • Добавлена поддержка протокола Content URI, используемого в платформе Android.
  • Повышены требования к окружению для сборки — для компиляции FFmpeg
    теперь необходим компилятор с поддержкой стандарта C11. В одном из следующих выпусков в качестве минимально поддерживаемой версии планируют использовать C17.

  • Для кодировщиков на базе QSV (Intel Quick Sync Video) метод управления битретом по умолчанию изменён с VBR (переменный битрейт) на CQP (постоянный битрейт).
  • Добавлен новый распаковщик медиаконтейнеров DVD-Video, основанный на использовании библиотек libdvdnav и libdvdread от проекта VideoLAN.
  • В реализацию формата flv добавлена возможность передачи метаданных в пакетах (PacketTypeMetadata).
  • Добавлен кодировщик DXV DXT1.
  • Добавлен декодировщик LEAD MCMP.
  • Добавлены упаковщики медиаконтейнеров (muxer) RCWT (Raw Captions with Time) и AEA.
  • Для форматов MP4 и ISOBMFF реализована возможность включения метаданных AVE (Ambient Viewing Environment).
  • Реализована поддержка технологии AFGS1 (AOMedia Film Grain Synthesis 1), используемой в спецификации AV1 Film Grain и предназначенной для повышения эффективности зернистых изображений.
  • Добавлена поддержка статичных (still) изображений в форматах HEIF и AVIF, а также мозаичных статичных изображений.
  • Для формата AV1 реализован профиль Dolby Vision.
  • Обеспечена поддержка проброса метаданных HDR10 при кодировании через библиотеки libx264, libx265 и libsvtav1.
  • Добавлены оптимизации для ускорения работы с форматом HEVC на архитектурах AArch64 и Loongarch. Внесены оптимизации производительности для ускорения кодирования и декодирования форматов AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1 и VP8 на системах с архитектурой RISC-V.
  • Новые фильтры:
    • tiltandshift — преобразование видео в стиле Tilt-Shift, при котором внимание фокусируется на определённой части изображения, а остальное содержимое размывается для создания впечатления игрушечности.
    • quirc — определение и декодирование QR-кодов при помощи библиотеки libquirc.
    • fsync — синхронизация кадров видео на основе информации из внешнего файла.
    • aap — использует алгоритм Affine Projection для определения схожести звуковых фрагментов.
  • Добавлен бэкенд dnn для создания фильтров, использующих модели машинного обучения, загружаемые при помощи libtorch.
  • Добавлен bitstream-фильтр showinfo для отладочного вывода информации о пакетах.
  • Добавлен обработчик qrencodesrc для вставки QR-кодов.
  • В утилите ffmpeg реализована поддержка loopback-декодировщиков, разрешено использование опции «-bsf» для входных и выходных потоков, удалены устаревшие опции «-psnr» и «-map_channel».
  • В утилите ffprobe реализована опция «-show_stream_groups option» и обеспечен вывод метаданных при использовании опции «-export_side_data film_grain».

Источник: http://www.opennet.ru/opennews/art.shtml?num=60929