После десяти месяцев разработки анонсирован выход новой версии FFmpeg 5.0, включающий в себя набор приложений и набор библиотек для работы с различными мультимедийными форматами (запись, преобразование и декодирование аудио и видео форматов).
Существенное изменение в номере версии связано со значительными изменениями API и переходом на новую схему генерации релизов, в соответствии с которым новые крупные релизы будут формироваться раз в год, а релизы с увеличенным временем поддержки — раз в два года. FFmpeg 5.0 станет первой LTS-версией проекта.
Основные новые возможности FFmpeg 5.0
В этой новой версии значительная очистка старых API для кодирования и декодирование, а также переход на новый N:M API, который предлагает единый программный интерфейс для аудио и видео, а также отдельные кодеки для входных и выходных потоков.
также упоминается, что все ранее отмеченные старые API были удалены устарело и добавлен новый API для фильтров битового потока.
Кроме того, добавлены отдельные форматы и кодеки: распаковщики медиаконтейнеров больше не интегрируют полный контекст декодера. Удалены API для регистрации кодеков и форматов: теперь всегда регистрируются все форматы.
Добавлено поддержка архитектуры LoongArch, используемой в процессорах Loongson, а также поддержку расширений LSX и LASX SIMD, представленных в LoongArch. Определенные оптимизации LoongArch были реализованы для кодеков H.264, VP8 и VP9.
Добавлено поддержка протокола concatf, который определяет формат передачи списка ресурсов ("ffplay concatf:split.txt"), также добавлены новые декодеры: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (bitmaps), новые кодировщики: упакованные в биты, Apple Графика (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Настройки кодировщика AAC были изменены для достижения более высокого качества.
Кроме того, также отмечено, что были добавлены упаковщики медиаконтейнеров (мультиплексор): Westwood AUD, Argonaut Games CVG, AV1 (Low Overhead Bitstream), добавлены распаковщики медиаконтейнеров (демультиплексор): IMF, Argonaut Games CVG.
Добавлен новый парсер для аудиокодека AMR (Adaptive Multi-Rate) и добавлен упаковщик данных полезной нагрузки (упаковщик) для передачи несжатого видео по протоколу RTP (RFC 4175).
Что касается новых видеофильтров:
- сегмент и сегмент: разделение потока с видео или звуком на несколько потоков, разделенных по времени или кадрам.
- hsvkey и hsvhold: замена части цветовой гаммы HSV в видео значениями оттенков серого.
- серый мир: использование алгоритма, основанного на гипотезе серого мира.
- шарр: применение оператора Орба (вариант оператора Собеля с разными коэффициентами) к входному видео.
- морфо: позволяет применять к видео различные морфологические преобразования.
- задержка: измеряет минимальную и максимальную задержку фильтра для ранее примененного фильтра.
- лимитдифф: определяет разницу между двумя или тремя видеопотоками.
- корреляция: вычисляет взаимную корреляцию между видеопотоками.
- размытие: переменное размытие видео с определением радиуса размытия второго видео.
- насыщение кости: применение настроек оттенка, насыщенности или яркости к видео.
- цветовой спектр: создание видеопотока с заданным цветовым спектром.
- либплацебо: Приложение для рендеринга HDR-шейдеров из библиотеки libplacebo.
- vflip_vulkan, hflip_vulkan и flip_vulkan: варианты фильтров вертикального или горизонтального переворота видео (vflip, hflip и flip), реализованные с использованием графического API Vulkan.
- yadif_videotoolbox: вариант фильтра деинтерлейсинга yadif на основе фреймворка VideoToolbox.
В конце концов для тех, кто хочет узнать об этом больше об этом новом выпуске вы можете проверить полный список изменений по этой ссылке.
В то время как для тех, кто хочет установить или обновить из FFmpeg вы должны знать, что этот пакет находится в большинстве дистрибутивов Linux, или, если вы предпочитаете, вы можете загрузить его исходный код для компиляции по ссылке ниже.