Після десяти місяців розробки доступний мультимедіа-пакет FFmpeg 5.0, що включає набір додатків та колекцію бібліотек для операцій над різними мультимедіа-форматами (запис, перетворення та декодування звукових та відеоформатів). Пакет розповсюджується під ліцензіями LGPL та GPL, розробка FFmpeg ведеться суміжно з проектом MPlayer. Значна зміна номера версії пояснюється суттєвими змінами в API та переходом на нову схему формування релізів, відповідно до якої нові значні випуски формуватимуться раз на рік, а релізи з розширеним часом підтримай – раз на два роки. FFmpeg 5.0 стане першим LTS-релізом проекту.
Зі змін, доданих у FFmpeg 5.0, можна виділити:
- Проведено значне чищення старих API для кодування та декодування та виконано перехід на новий N:M API, що пропонує єдиний програмний інтерфейс для звуку та відео, а також розділяє кодеки для вхідних та вихідних потоків. Видалено всі старі API, раніше позначені застарілими. Додано новий API для bitstream-фільтрів. Розділено формати та кодеки – розпакувальники медіаконтейнерів більше не вбудовують весь контекст декодувальників. Видалені API для реєстрації кодеків та форматів – всі формати тепер завжди зареєстровані.
- Видалено бібліотеку libavresample.
- До бібліотеки libswscale додано простіший API на базі AVFrame.
- Значно покращено підтримку графічного API Vulkan.
- Додано підтримку апаратного прискорення декодування та кодування форматів VP9 та ProRes з використанням API VideoToolbox.
- Додано підтримку архітектури LoongArch, що використовується в процесорах Loongson, а також підтримка SIMD-розширень LSX і LASX, що надаються в LoongArch. Для кодеків H.264, VP8 та VP9 реалізовані специфічні для LoongArch оптимізації.
- Додано підтримку протоколу Concatf, який визначає формат передачі списку ресурсів («ffplay concatf:split.txt»).
- Додані нові декодувальники: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (Растрові зображення).
- Додані нові кодувальники: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Параметри кодувальника AAC змінені для досягнення вищої якості.
- Додані пакувальники медіаконтейнерів (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Low overhead bitstream).
- Додані розпакувальники медіаконтейнерів (demuxer): IMF, Argonaut Games CVG.
- Додано новий парсер для звукового кодеку AMR (Adaptive Multi-Rate).
- Доданий пакувальник payload-даних (packetizer) для передачі стисненого відео з використанням протоколу RTP (RFC 4175).
- Нові фільтри для відео:
- segment і asegment — розділення одного потоку з відео чи звуком на кілька потоків із поділом у часі чи кадрах.
- hsvkey і hsvhold — замінюють у відео частину діапазону HSV на значення у відтінках сірого.
- grayworld - корекція кольору відео з використанням алгоритму на основі гіпотези сірого світу.
- scharr - застосування оператора Шара (варіант оператора Собеля з іншими коефіцієнтами) до вхідного відео.
- morpho – дозволяє застосувати різні морфологічні перетворення до відео.
- latency та alatency — вимірює мінімальну та максимальну затримку фільтрації для раніше застосованого фільтра.
- limitdiff - визначає різницю між двома або трьома відеопотоками.
- xcorrelate - обчислює взаємну кореляцію між потоками відео.
- varblur - змінне розмиття відео з визначенням радіусу розмиття з другого відео.
- huesaturation – застосування до відео коригування відтінку, насиченості чи інтенсивності.
- colorspectrum - генерація відеопотоку із заданим колірним спектром.
- libplacebo – застосування для обробки HDR шейдерів із бібліотеки libplacebo.
- vflip_vulkan, hflip_vulkan та flip_vulkan – варіанти фільтрів вертикального або горизонтального перевороту відео (vflip, hflip та flip), реалізовані з використанням графічного API Vulkan.
- yadif_videotoolbox - варіант фільтра деінтерлейсингу yadif на базі фреймворку VideoToolbox.
- Нові фільтри для звуку:
- apsyclip – застосування психоакустичного відсікача до звукового потоку.
- afwtdn – пригнічує широкосмуговий шум.
- adecorrelate - застосування до вхідного потоку алгоритму декореляції.
- atilt - застосування спектрального зміщення для заданого діапазону частот.
- asdr - Визначення спотворення сигналу між двома звуковими потоками.
- aspectralstats - виведення статистики зі спектральними характеристиками кожного звукового каналу.
- adynamicsmooth - динамічне згладжування звукового потоку.
- adynamicequalizer - динамічне вирівнювання звукового потоку.
- anlmf - Застосування алгоритму найменших середніх квадратів до звукового потоку.
Джерело: opennet.ru