Dopo sei mesi di sviluppo, è disponibile il pacchetto multimediale FFmpeg 6.0, che include un insieme di applicazioni e una collezione di librerie per operazioni su vari formati multimediali (registrazione, conversione e decodifica di formati audio e video). Il pacchetto è distribuito sotto le licenze LGPL e GPL, lo sviluppo di FFmpeg è portato avanti in parallelo con il progetto MPlayer.
Tra le modifiche apportate in FFmpeg 6.0, si possono evidenziare:
- La compilazione di ffmpeg in modalità multithreading è stata resa obbligatoria. Ogni muxer di contenitore multimediale viene ora eseguito in un thread separato.
- È stato implementato il supporto per VAAPI e QSV (Quick Sync Video) per la codifica e la decodifica di VP9 e HEVC con sottocampionamento del colore 4:2:2 e 4:4:4, codifica a 10 e 12 bit di profondità di colore.
- Aggiunto il supporto per la libreria oneVPL (oneAPI Video Processing Library) per utilizzare la tecnologia di accelerazione hardware Intel QSV (Quick Sync Video).
- Aggiunto il codificatore AV1 con accelerazione hardware basata su QSV.
- Aggiunte opzioni all'utilità ffmpeg:
- «-shortest_buf_duration» per specificare la durata massima dei fotogrammi bufferizzati (maggiore è il valore, maggiore è la precisione in modalità «-shortest», ma anche il consumo di memoria e la latenza aumentano).
- «-stats_enc_pre[_fmt]», «-stats_enc_post[_fmt]» e «-stats_mux_pre[_fmt]» per registrare le informazioni sullo stato di codifica dei flussi selezionati in un file specificato in diverse fasi della codifica.
- «-fix_sub_duration_heartbeat» per determinare il flusso video di sincronizzazione (heartbeat) utilizzato per separare i sottotitoli.
- La sintassi del filtergraph è stata ampliata con la possibilità di passare i valori delle opzioni da un file specificato. Il nome del file è fornito precedendo il valore con il prefisso ‘/’, ad esempio, «ffmpeg -vf drawtext=/text=/tmp/some_text» porterà al caricamento del parametro text dal file /tmp/some_text.
- Aggiunto il supporto per i formati immagine: WBMP (Wireless Application Protocol Bitmap), Radiance HDR (RGBE).
- Aggiunti nuovi decodificatori: APAC, bonk, Micronas SC-4, Media 100i, ViewQuest VQC, MediaCodec (NDKMediaCodec), WADY DPCM, CBD2 DPCM, XMD ADPCM, WavArc, RKA.
- Aggiunti nuovi codificatori: nvenc AV1, MediaCodec.
- Aggiunti demuxer di contenitori multimediali: SDNS, APAC, bonk, LAF, WADY DPCM, XMD ADPCM, WavArc, RKA.
- Dichiarati obsoleti i decodificatori CrystalHD.
- Nuovi filtri per video:
- ddagrab — acquisizione video del desktop Windows tramite API Desktop Duplication.
- corr — determina la correlazione tra due video.
- ssim360 — valutazione della somiglianza di video registrati in modalità 360°.
- hstack_vaapi, vstack_vaapi e xstack_vaapi — combinazione di più video (ogni video è visualizzato nella propria area dello schermo) utilizzando VAAPI per l'accelerazione.
- backgroundkey — trasforma uno sfondo statico in trasparente.
- Nel filtro cropdetect è stata aggiunta una modalità per determinare l'area di ritaglio in base ai vettori e ai bordi del movimento.
- Nuovi filtri per audio:
- showcwt — trasformazione dell'audio in video con visualizzazione della frequenza spettrale, utilizzando la trasformazione wavelet continua e Morlet.
- adrc — applicazione a un flusso audio in ingresso di un filtro per modificare l'intervallo dinamico spettrale.
- a3dscope — conversione dell'audio in ingresso in suono spaziale 3D.
- afdelaysrc — genera coefficienti della risposta all'impulso finito (FIR).
- Nuovi filtri bitstream:
- Conversione da media100 a mjpegb.
- Conversione da DTS a PTS.
Fonte: opennet.ru
