FFmpeg / avidemux: correzioni di fotogrammi B fissi


12

Sto transcodificando alcuni dei miei vecchi video mpeg4 (in contenitori avi) in h.264 con FFmpeg. Fondamentalmente

ffmpeg -i input.avi -c:v libx264 [x264 settings] -c:a libfdk_aac [aac settings] output.mp4

Nel fare ciò, mpeg4emette il seguente avviso

Il video utilizza un modo non standard e dispendioso per memorizzare i frame B ("frame B compressi"). Prendi in considerazione l'utilizzo di uno strumento come VirtualDub o avidemux per risolverlo.

So che posso ancora transcodificare con successo, ma dall'avvertimento non mi è chiaro se la qualità del video h.264 risultante sarà influenzata .

Così,

  • Dato che mi interessa solo la qualità (e le dimensioni, voglio ridurre al minimo le dimensioni dei miei dispositivi mobili, motivo per cui sto usando anche la veryslowpreimpostazione) del video di output h.264, dovrei preoccuparmi del B compresso frame?

  • Se dovessi, come posso ripararli con avidemux? (Ho già provato a sfogliare il manuale.)

Risposte:


15

I frame B sono un tipo di frame utilizzato nella compressione video per rappresentare i frame di un video. I fotogrammi B possono utilizzare le informazioni di entrambi i fotogrammi precedenti e futuri per rappresentare ciascun fotogramma video.

I video con codifica DivX precedenti utilizzano comunemente un brutto metodo chiamato bitstream compresso che inserisce diversi fotogrammi video in un unico blocco AVI. Il bitstream compresso non è standard MPEG-4, utilizza più spazio, richiede più potenza della CPU per codificare / decodificare e (soprattutto) può causare problemi se copiato in un altro tipo di contenitore. Questa è la ragione principale per l'avvertimento.

Dato che stai ricodificando il video invece di copiarlo, dovresti andare bene. Se si desidera conservare il video originale, ma copiarlo in un altro tipo di contenitore (ad esempio MP4 o MKV), sarebbe meglio decomprimere prima i fotogrammi B utilizzando il filtro FFmpeg mpeg4_unpack_bframes.

È possibile decomprimere i B-frame con qualcosa di semplice

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.