Nakon pet mjeseci razvoja, dostupan je multimedijski paket FFmpeg 7.0, koji uključuje skup aplikacija i kolekciju biblioteka za operacije nad raznim multimedijskim formatima (snimanje, konvertiranje i dekodiranje audio i video formata). Paket se distribuira pod LGPL i GPL licencama, a razvoj FFmpeg-a se odvija paralelno s projektom MPlayer.
Od promjena dodanih u FFmpeg 7.0, mogu se istaknuti:
- U korisničkom alatu komandne linije ffmpeg omogućeno je paralelno izvođenje operacija raspakiravanja/pakiranja medijskih kontejnera, dekodiranja, kodiranja i primjene filtara.
- Implementirana je podrška za kodiranje i dekodiranje videa u MPEG-5 formatu (EVC - Essential Video Coding), koristeći vanjsku biblioteku libxevd.
- Dodani su raspakači i paketači medijskih kontejnera (demuxer/muxer) za QOA (Quite OK Audio) format, koji se koristi za prijenos zvuka bez gubitka kvalitete. Tvrdi se da se dekodiranje QOA odvija tri puta brže od Ogg-Vorbis uz postizanje višeg kvaliteta i razine kompresije u usporedbi s ADPCM.
- Dodani su raspakači i paketači medijskih kontejnera (demuxer/muxer) za IAMF (Immersive Audio Model and Format) format, koji definira kontejner za distribuciju prostornog zvuka. Format predviđa prijenos dodatnih informacija potrebnih za rad algoritama za rekonstrukciju zvučne scene i miksanje zvuka, a također uzima u obzir prijenos zvučnih signala u trodimenzionalnom prostoru za rekonstrukciju zvuka koji je što bliži prirodnom. Omogućena je podrška za IAMF metapodatke za MP4 i ISOBMFF formate.
- Dodan je eksperimentalni dekoder za VVC (Versatile Video Coding) format, poznat i kao standard kompresije videa H.266, razvijen u suradnji radnih grupa MPEG (ISO/IEC JTC 1) i VCEG (ITU-T), uz sudjelovanje kompanija kao što su Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm i Sony. H.266 zamjenjuje H.265 (HEVC) i osigurava visoku učinkovitost prijenosa i pohrane svih razlučivosti ekrana (od SD i HD do 4K i 8K), podržava video s proširenim dinamičkim rasponom (HDR, High Dynamic Range) i panoramski video u 360 stupnjeva.
- Implementirana je mogućnost korištenja API D3D12VA (Direct 3D 12 Video Encoding) za hardversko ubrzanje dekodiranja formata H264, HEVC, VP9, AV1, MPEG-2 i VC1.
- U alat za reprodukciju ffplay dodana je podrška za hardversko ubrzanje dekodiranja koristeći API Vulkan i libplacebo.
- Dodana je podrška za Content URI protokol koji se koristi na Android platformi.
- Povećani su zahtjevi za okruženje prilikom gradnje — za kompilaciju FFmpeg-a sada je potreban kompajler koji podržava C11 standard. U nekom od sljedećih izdanja planira se koristiti C17 kao minimalno podržana verzija.
- Za kodere temeljene na QSV (Intel Quick Sync Video), metoda upravljanja bitnom brzinom po defaultu promijenjena je s VBR (promjenjiva bitna brzina) na CQP (stalna bitna brzina).
- Dodana je nova raspakivač medijskih kontejnera DVD-Video, koja se temelji na bibliotekama libdvdnav i libdvdread iz projekta VideoLAN.
- U implementaciju flv formata dodana je mogućnost prijenosa metapodataka u paketima (PacketTypeMetadata).
- Dodana je DXV DXT1 kodirnica.
- Dodana je LEAD MCMP dekodirnica.
- Dodani su medijski kontejneri (muxer) RCWT (Raw Captions with Time) i AEA.
- Za MP4 i ISOBMFF formate implementirana je mogućnost uključivanja AVE (Ambient Viewing Environment) metapodataka.
- Implementirana je podrška za AFGS1 (AOMedia Film Grain Synthesis 1) tehnologiju koja se koristi u AV1 Film Grain specifikaciji i namijenjena je poboljšanju učinkovitosti zrnastih slika.
- Dodana je podrška za statične (still) slike u HEIF i AVIF formatima, kao i za mozaik statičke slike.
- Za AV1 format implementiran je Dolby Vision profil.
- Osigurana je podrška za prosljeđivanje HDR10 metapodataka prilikom kodiranja putem biblioteka libx264, libx265 i libsvtav1.
- Dodane su optimizacije za ubrzanje rada s HEVC formatom na AArch64 i Loongarch arhitekturama. Uvedene su optimizacije performansi za ubrzanje kodiranja i dekodiranja AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1 i VP8 formata na RISC-V arhitekturi.
- Novi filteri:
- tiltandshift — pretvara video u Tilt-Shift stil, gdje se pažnja fokusira na određeni dio slike, dok se ostatak sadržaja zamagljuje kako bi se stvorio dojam igračkaste scene.
- quirc — prepoznaje i dekodira QR kodove pomoću libquirc biblioteke.
- fsync — sinkronizira video okvire na temelju informacija iz vanjske datoteke.
- aap — koristi Affine Projection algoritam za određivanje sličnosti zvučnih fragmenta.
- Dodana je dnn pozadina za kreiranje filtara koji koriste modele strojnog učenja preuzete putem libtorch.
- Dodana je bitstream filtr showinfo za ispis podataka o paketima.
- Dodani su handler qrencodesrc za umetanje QR kodova.
- U alatu ffmpeg implementirana je podrška za loopback dekodere, dopušteno korištenje opcije «-bsf» za ulazne i izlazne tokove, uklonjene su zastarjele opcije «-psnr» i «-map_channel».
- U alatu ffprobe implementirana je opcija «-show_stream_groups» i omogućeno je prikazivanje metapodataka prilikom korištenja opcije «-export_side_data film_grain».
Izvor: opennet.ru
