Efter ti måneders udvikling er FFmpeg 5.0 multimediepakken tilgængelig, som inkluderer et sæt applikationer og en samling af biblioteker til operationer på forskellige multimedieformater (optagelse, konvertering og afkodning af lyd- og videoformater). Pakken distribueres under LGPL- og GPL-licenser, FFmpeg-udvikling udføres ved siden af MPlayer-projektet. Den væsentlige ændring i versionsnummer forklares med væsentlige ændringer i API'et og overgangen til et nyt release-genereringsskema, hvorefter nye væsentlige udgivelser vil blive genereret én gang om året, og udgivelser med forlænget supporttid – én gang hvert andet år. FFmpeg 5.0 vil være den første LTS-udgivelse af projektet.
Blandt ændringerne tilføjet til FFmpeg 5.0 er:
- Der er gennemført en væsentlig oprydning af de gamle API'er til kodning og afkodning, og der er foretaget en overgang til det nye N:M API, som tilbyder et enkelt softwareinterface til lyd og video samt adskillelse af codecs til input- og outputstreams . Fjernede alle gamle API'er, der tidligere er markeret som forældet. Tilføjet en ny API til bitstream-filtre. Adskilte formater og codecs - mediecontainer-dekomprimeringer indlejrer ikke længere hele konteksten af dekodere. API'er til registrering af codecs og formater er fjernet - alle formater er nu altid registreret.
- Libavresample-biblioteket er blevet fjernet.
- En enklere AVFrame-baseret API er blevet tilføjet til libswscale-biblioteket.
- Markant forbedret understøttelse af Vulkan grafik API.
- Tilføjet understøttelse af hardwareacceleration af afkodning og kodning af VP9- og ProRes-formater ved hjælp af VideoToolbox API.
- Tilføjet understøttelse af LoongArch-arkitekturen, der bruges i Loongson-processorer, samt understøttelse af LSX- og LASX SIMD-udvidelserne i LoongArch. LoongArch-specifikke optimeringer er blevet implementeret for H.264, VP8 og VP9 codecs.
- Tilføjet understøttelse af Concatf-protokollen, som definerer et format til overførsel af en liste over ressourcer ("ffplay concatf:split.txt").
- Tilføjet nye dekodere: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (rasterbilleder).
- Nye indkodere er blevet tilføjet: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. AAC-encoderindstillinger er blevet ændret for at opnå højere kvalitet.
- Tilføjede mediebeholderpakker (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Lav overhead bitstream).
- Tilføjede mediebeholderudpakkere (demuxer): IMF, Argonaut Games CVG.
- Tilføjet en ny parser til AMR (Adaptive Multi-Rate) audio codec.
- Tilføjet nyttelast datapakker (packetizer) til transmission af ukomprimeret video ved hjælp af RTP-protokollen (RFC 4175).
- Nye videofiltre:
- segment og asegment - opdeling af en stream med video eller lyd i flere streams, adskilt af tid eller frames.
- hsvkey og hsvhold - udskift en del af HSV-farveområdet i videoen med gråtoneværdier.
- grayworld - video farvekorrektion ved hjælp af en algoritme baseret på den grå verden hypotese.
- scharr — anvendelse af Schar-operatoren (en variant af Sobel-operatoren med forskellige koefficienter) på inputvideoen.
- morpho - giver dig mulighed for at anvende forskellige morfologiske transformationer til videoen.
- latency og alatency - måler minimum og maksimum filtreringsforsinkelse for et tidligere anvendt filter.
- limitdiff - bestemmer forskellen mellem to eller tre videostreams.
- xcorrelate - Beregner krydskorrelationen mellem videostreams.
- varblur - variabel videoslør med definition af sløringsradius fra den anden video.
- Huesaturation - Anvend farvetone, mætning eller intensitetsjusteringer på video.
- farvespektrum — generering af en videostrøm med et givet farvespektrum.
- libplacebo - applikation til behandling af HDR shaders fra libplacebo-biblioteket.
- vflip_vulkan, hflip_vulkan og flip_vulkan er varianter af lodrette eller horisontale videoflip-filtre (vflip, hflip og flip), implementeret ved hjælp af Vulkan grafik API.
- yadif_videotoolbox er en variant af yadif deinterlacing-filteret baseret på VideoToolbox-rammeværket.
- Nye lydfiltre:
- apsyclip - anvendelse af en psykoakustisk klipper til en lydstrøm.
- afwtdn - Undertrykker bredbåndsstøj.
- adecrelate — anvendelse af dekorrelationsalgoritmen på inputstrømmen.
- atilt - anvender et spektralskift for et givet frekvensområde.
- asdr - bestemmelse af signalforvrængning mellem to lydstrømme.
- aspectralstats - outputstatistik med de spektrale karakteristika for hver lydkanal.
- adynamicsmooth - dynamisk udjævning af lydstrømmen.
- adynamicequalizer - dynamisk udligning af lydstrømmen.
- anlmf - Anvend algoritmen for mindste middelkvadrater på en lydstrøm.
Kilde: opennet.ru