Na vijf maanden ontwikkeling is het multimediapakket FFmpeg 7.0 beschikbaar, inclusief een set applicaties en een verzameling bibliotheken voor het werken met verschillende multimediaformaten (opname, conversie en decodering van audio- en videoformaten). Het pakket wordt gedistribueerd onder de LGPL- en GPL-licenties, en de ontwikkeling van FFmpeg gebeurt gelijktijdig met het MPlayer-project.
Belangrijke wijzigingen in FFmpeg 7.0 zijn onder meer:
- In de commandoregeltool ffmpeg is het parallel uitvoeren van decodering/encoding en het toepassen van filters mogelijk gemaakt.
- Ondersteuning voor het coderen en decoderen van video in het MPEG-5-formaat (EVC - Essential Video Coding) is geïmplementeerd, met behulp van de externe bibliotheek libxevd.
- Demuxers en muxers zijn toegevoegd voor het QOA-formaat (Quite OK Audio), dat wordt gebruikt voor het verliesvrij overbrengen van audio. Er wordt gesteld dat de decodering van QOA driemaal sneller is dan Ogg-Vorbis, met een hogere kwaliteit en compressie in vergelijking met ADPCM.
- Demuxers en muxers zijn toegevoegd voor het IAMF-formaat (Immersive Audio Model and Format), dat een container definieert voor de distributie van surround sound. Dit formaat voorziet in de overdracht van aanvullende informatie die nodig is voor het werken met algoritmes voor het reproduceren van geluidslandschappen en het mixen van geluid, en houdt rekening met de verspreiding van geluidssignalen in drie-dimensionale ruimte om een geluidservaring te recreëren die zo dicht mogelijk bij de natuurlijke ervaring ligt. Ondersteuning voor IAMF-metadata voor MP4- en ISOBMFF-formaten is gewaarborgd.
- Een experimentele decoder is toegevoegd voor het VVC-formaat (Versatile Video Coding), ook bekend als de H.266-videocompressiestandaard, ontwikkeld door de MPEG- (ISO/IEC JTC 1) en VCEG (ITU-T) werkgroepen, met deelname van bedrijven zoals Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm en Sony. H.266 vervangt H.265 (HEVC) en biedt een hoge efficiëntie voor de overdracht en opslag van alle schermresoluties (van SD en HD tot 4K en 8K), ondersteunt video met een uitgebreid dynamisch bereik (HDR, High Dynamic Range) en 360 graden panoramavideo.
- De mogelijkheid om de D3D12VA API (Direct 3D 12 Video Encoding) te gebruiken voor hardwareversnelling van de decodering van de formaten H264, HEVC, VP9, AV1, MPEG-2 en VC1 is geïmplementeerd.
- In de utility ffplay is ondersteuning voor hardwareversnelling van decodering toegevoegd, gebruikmakend van de Vulkan API en libplacebo.
- Ondersteuning voor het Content URI-protocol, gebruikt op het Android-platform, is toegevoegd.
- De omgevingseisen voor bouw zijn verhoogd — voor het compileren van FFmpeg is nu een compiler met ondersteuning voor de C11-standaard vereist. In een van de volgende releases is het de bedoeling om C17 als de minimaal ondersteunde versie te gebruiken.
- Voor encoders op basis van QSV (Intel Quick Sync Video) is de standaard bitratemethode veranderd van VBR (variabele bitrate) naar CQP (constante bitrate).
- Een nieuwe media-container-depackager voor DVD-Video is toegevoegd, gebaseerd op het gebruik van de libdvdnav- en libdvdread-bibliotheken van het VideoLAN-project.
- De implementatie van het flv-formaat heeft de mogelijkheid toegevoegd om metadata in pakketten (PacketTypeMetadata) door te geven.
- De DXV DXT1-encoder is toegevoegd.
- De LEAD MCMP-decoder is toegevoegd.
- De media-container packagers (muxer) RCWT (Raw Captions with Time) en AEA zijn toegevoegd.
- Voor de MP4- en ISOBMFF-formaten is de mogelijkheid gerealiseerd om AVE (Ambient Viewing Environment) metadata op te nemen.
- Ondersteuning voor de AFGS1-technologie (AOMedia Film Grain Synthesis 1), gebruikt in de AV1 Film Grain-specificatie ter verbetering van de effectiviteit van korrelige beelden, is gerealiseerd.
- Ondersteuning voor statische (still) afbeeldingen in de HEIF- en AVIF-formaten, evenals mozaïekstatische afbeeldingen, is toegevoegd.
- Voor het AV1-formaat is een Dolby Vision-profiel gerealiseerd.
- Ondersteuning voor het doorgeven van HDR10-metadata tijdens codering via de bibliotheken libx264, libx265 en libsvtav1 is gewaarborgd.
- Optimalisaties zijn toegevoegd voor het versnellen van het werken met het HEVC-formaat op AArch64- en Loongarch-architecturen. Prestatieoptimalisaties zijn doorgevoerd voor het versnellen van codering en decodering van de formaten AAC, FLAC, JPEG-2000, LPC, RV4.0, SVQ, VC1 en VP8 op systemen met een RISC-V-architectuur.
- Nieuwe filters:
- tiltandshift — transformatie van video in Tilt-Shift-stijl, waarbij de focus op een bepaald deel van de afbeelding ligt en de rest van de inhoud vervaagd is om een speels effect te creëren.
- quirc — detectie en decodering van QR-codes met behulp van de libquirc-bibliotheek.
- fsync — synchronisatie van videoframes op basis van informatie uit een extern bestand.
- aap — gebruikt het algoritme Affine Projection voor het bepalen van de gelijkenis van geluidsfragmenten.
- De dnn-backend is toegevoegd voor het maken van filters die gebruikmaken van machine learning-modellen die zijn geladen met behulp van libtorch.
- Bitstream-filter showinfo is toegevoegd voor debug-uitvoer van informatie over pakketten.
- Handler qrencodesrc is toegevoegd voor het invoegen van QR-codes.
- De utility ffmpeg ondersteunt nu loopback-decoders, is in staat om de optie «-bsf» te gebruiken voor invoer- en uitvoerstreams, en verouderde opties zoals «-psnr» en «-map_channel» zijn verwijderd.
- In de utility ffprobe is de optie «-show_stream_groups option» geïmplementeerd en is het mogelijk om metadata weer te geven bij gebruik van de optie «-export_side_data film_grain».
Bron: opennet.ru
