Пасля дзесяці месяцаў распрацоўкі даступны мультымедыя-пакет 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, а таксама падтрымка якія прадстаўляюцца ў LoongArch SIMD-пашырэнняў LSX і LASX. Для кодэкаў 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