Etter ti måneders utvikling er FFmpeg 5.0 multimediepakken tilgjengelig, som inkluderer et sett med applikasjoner og en samling biblioteker for operasjoner på ulike multimedieformater (opptak, konvertering og dekoding av lyd- og videoformater). Pakken distribueres under LGPL- og GPL-lisenser, FFmpeg-utvikling utføres ved siden av MPlayer-prosjektet. Den betydelige endringen i versjonsnummer forklares av betydelige endringer i API og overgangen til et nytt utgivelsesgenereringsskjema, i henhold til hvilket nye betydelige utgivelser vil bli generert én gang i året, og utgivelser med utvidet støttetid – én gang annethvert år. FFmpeg 5.0 vil være den første LTS-utgivelsen av prosjektet.
Noen av endringene som er lagt til i FFmpeg 5.0 inkluderer:
- En betydelig opprydding av de gamle API-ene for koding og dekoding har blitt utført og en overgang er gjort til den nye N:M API, som tilbyr et enkelt programvaregrensesnitt for lyd og video, samt separering av kodeker for input- og outputstrømmer . Fjernet alle gamle APIer som tidligere er merket som avviklet. Lagt til et nytt API for bitstrømfiltre. Separerte formater og kodeker – mediebeholderdekomprimeringer bygger ikke lenger inn hele konteksten til dekodere. APIer for registrering av kodeker og formater er fjernet - alle formater er nå alltid registrert.
- Libavresample-biblioteket er fjernet.
- En enklere AVFrame-basert API er lagt til libswscale-biblioteket.
- Betydelig forbedret støtte for Vulkan graphics API.
- Lagt til støtte for maskinvareakselerasjon av dekoding og koding av VP9- og ProRes-formater ved hjelp av VideoToolbox API.
- Lagt til støtte for LoongArch-arkitekturen som brukes i Loongson-prosessorer, samt støtte for LSX- og LASX SIMD-utvidelsene i LoongArch. LoongArch-spesifikke optimaliseringer er implementert for H.264, VP8 og VP9 kodeker.
- Lagt til støtte for Concatf-protokollen, som definerer et format for overføring av en liste over ressurser ("ffplay concatf:split.txt").
- Lagt til nye dekodere: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (rasterbilder).
- Nye kodere er lagt til: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. AAC-koderinnstillingene er endret for å oppnå høyere kvalitet.
- Lagt til mediebeholderpakker (muxer): Westwood AUD, Argonaut Games CVG, AV1 (Lav overhead bitstrøm).
- Lagt til mediebeholderutpakkere (demuxer): IMF, Argonaut Games CVG.
- Lagt til en ny parser for AMR (Adaptive Multi-Rate) lydkodeken.
- Lagt til nyttelastdatapakker (packetizer) for overføring av ukomprimert video ved hjelp av RTP-protokollen (RFC 4175).
- Nye videofiltre:
- segment og asegment - oppdeling av en strøm med video eller lyd i flere strømmer, atskilt med tid eller rammer.
- hsvkey og hsvhold - erstatt deler av HSV-fargeområdet i videoen med gråtoneverdier.
- grayworld - videofargekorreksjon ved hjelp av en algoritme basert på hypotesen om den grå verden.
- scharr — anvendelse av Schar-operatoren (en variant av Sobel-operatoren med forskjellige koeffisienter) på inngangsvideoen.
- morpho - lar deg bruke forskjellige morfologiske transformasjoner på videoen.
- latency og alatency - måler minimum og maksimum filtreringsforsinkelse for et tidligere brukt filter.
- limitdiff - bestemmer forskjellen mellom to eller tre videostrømmer.
- xcorrelate - Beregner krysskorrelasjonen mellom videostrømmer.
- varblur - variabel videouskarphet med definisjon av uskarphet radius fra den andre videoen.
- fargetone – Bruk fargetone, metning eller intensitetsjusteringer på video.
- fargespekter — generering av en videostrøm med et gitt fargespekter.
- libplacebo - applikasjon for behandling av HDR shaders fra libplacebo-biblioteket.
- vflip_vulkan, hflip_vulkan og flip_vulkan er varianter av vertikale eller horisontale videoflip-filtre (vflip, hflip og flip), implementert ved hjelp av Vulkan graphics API.
- yadif_videotoolbox er en variant av yadif deinterlacing-filteret basert på VideoToolbox-rammeverket.
- Nye lydfiltre:
- apsyclip - bruk av en psykoakustisk klipper til en lydstrøm.
- afwtdn - Demper bredbåndsstøy.
- adecorrelate - å bruke dekorrelasjonsalgoritmen på inngangsstrømmen.
- atilt - bruker et spektralskifte for et gitt frekvensområde.
- asdr - bestemmelse av signalforvrengning mellom to lydstrømmer.
- aspectralstats - utdatastatistikk med de spektrale egenskapene til hver lydkanal.
- adynamicsmooth - dynamisk utjevning av lydstrømmen.
- adynamicequalizer - dynamisk utjevning av lydstrømmen.
- anlmf - Bruk algoritmen for minste gjennomsnittlige kvadrater på en lydstrøm.
Kilde: opennet.ru