Efter tio månaders utveckling är multimediapaketet FFmpeg 5.0 tillgängligt, vilket inkluderar en uppsättning applikationer och en samling bibliotek för operationer på olika multimediaformat (inspelning, konvertering och avkodning av ljud- och videoformat). Paketet distribueras under LGPL- och GPL-licenser, FFmpeg-utveckling utförs i anslutning till MPlayer-projektet. Den betydande förändringen i versionsnummer förklaras av betydande förändringar i API:et och övergången till ett nytt versionsgenereringsschema, enligt vilket nya betydande utgåvor kommer att genereras en gång om året, och utgåvor med utökad supporttid - en gång vartannat år. FFmpeg 5.0 kommer att vara den första LTS-versionen av projektet.
Bland ändringarna som lagts till i FFmpeg 5.0 är:
- En betydande sanering av de gamla API:erna för kodning och avkodning har genomförts och en övergång har gjorts till det nya N:M API:et, som erbjuder ett enda mjukvarugränssnitt för ljud och video, samt separerande codecs för in- och utströmmar . Tog bort alla gamla API:er som tidigare markerats som utfasade. Lade till ett nytt API för bitströmsfilter. Separerade format och codecs - avkodare för mediabehållare bäddar inte längre in hela kontexten för avkodare. API:er för registrering av codecs och format har tagits bort - alla format är nu alltid registrerade.
- Libavresample-biblioteket har tagits bort.
- Ett enklare AVFrame-baserat API har lagts till i libswscale-biblioteket.
- Betydligt förbättrat stöd för Vulkans grafik-API.
- Tillagt stöd för hårdvaruacceleration av avkodning och kodning av VP9- och ProRes-format med hjälp av VideoToolbox API.
- Lade till stöd för LoongArch-arkitekturen som används i Loongson-processorer, samt stöd för LSX- och LASX SIMD-tillägg som tillhandahålls i LoongArch. LoongArch-specifika optimeringar har implementerats för H.264, VP8 och VP9 codecs.
- Lade till stöd för Concatf-protokollet, som definierar ett format för överföring av en lista med resurser ("ffplay concatf:split.txt").
- Lade till nya avkodare: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (rasterbilder).
- Nya kodare har lagts till: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. AAC-kodarinställningarna har ändrats för att uppnå högre kvalitet.
- Tillagda mediabehållarepackare (muxer): Westwood AUD, Argonaut Games CVG, AV1 (låg overhead bitström).
- Uppackare för mediabehållare (demuxer): IMF, Argonaut Games CVG.
- Lade till en ny parser för AMR (Adaptive Multi-Rate) audio codec.
- Lade till nyttolastdatapaketerare (paketiserare) för överföring av okomprimerad video med hjälp av RTP-protokollet (RFC 4175).
- Nya videofilter:
- segment och asegment - uppdelning av en ström med video eller ljud i flera strömmar, åtskilda av tid eller ramar.
- hsvkey och hsvhold - ersätt en del av HSV-färgområdet i videon med gråskalevärden.
- grayworld - videofärgkorrigering med hjälp av en algoritm baserad på hypotesen om den grå världen.
- scharr — tillämpning av Schar-operatorn (en variant av Sobel-operatorn med olika koefficienter) på ingångsvideon.
- morpho - låter dig tillämpa olika morfologiska transformationer på videon.
- latens och alatens - mäter den minsta och maximala filtreringsfördröjningen för ett tidigare applicerat filter.
- limitdiff - bestämmer skillnaden mellan två eller tre videoströmmar.
- xcorrelate - Beräknar korskorrelationen mellan videoströmmar.
- varblur - variabel videooskärpa med definition av oskärpa radie från den andra videon.
- nyansmättnad – Använd nyans-, mättnads- eller intensitetsjusteringar på video.
- färgspektrum — generering av en videoström med ett givet färgspektrum.
- libplacebo - applikation för bearbetning av HDR-shaders från libplacebo-biblioteket.
- vflip_vulkan, hflip_vulkan och flip_vulkan är varianter av vertikala eller horisontella videoflip-filter (vflip, hflip och flip), implementerade med Vulkans grafik-API.
- yadif_videotoolbox är en variant av yadif deinterlacing-filtret baserat på VideoToolbox-ramverket.
- Nya ljudfilter:
- apsyclip - applicering av en psykoakustisk klippare till en ljudström.
- afwtdn - Dämpar bredbandsbrus.
- adecorrelate — tillämpar dekorrelationsalgoritmen på ingångsströmmen.
- atilt - tillämpar ett spektralskifte för ett givet frekvensområde.
- asdr - bestämning av signalförvrängning mellan två ljudströmmar.
- aspectralstats - utdatastatistik med de spektrala egenskaperna för varje ljudkanal.
- adynamicsmooth - dynamisk utjämning av ljudströmmen.
- adynamicequalizer - dynamisk utjämning av ljudströmmen.
- anlmf - Tillämpa minsta medelkvadratalgoritm på en ljudström.
Källa: opennet.ru