FFmpeg / avidemux: arregla los cuadros B empaquetados

12

Estoy transcodificando algunos de mis viejos videos mpeg4 (en contenedores avi) a h.264 con FFmpeg. Básicamente

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

Al hacerlo, mpeg4emite la siguiente advertencia

El video utiliza una forma no estándar y derrochadora para almacenar cuadros B ('cuadros B empaquetados'). Considere usar una herramienta como VirtualDub o avidemux para solucionarlo.

Sé que aún puedo transcodificar con éxito, pero por la advertencia no me queda claro si la calidad del video h.264 resultante se verá afectada .

Entonces,

  • Dado que solo me importa la calidad (y el tamaño, quiero minimizar el tamaño de mis dispositivos móviles, es por eso que también estoy usando el veryslowpreajuste) de la salida de video h.264, si me importa el paquete B- marcos?

  • Si debo, ¿cómo los soluciono con avidemux? (Ya intenté leer el manual).

4ae1e1
fuente

Respuestas:

15

Los cuadros B son un tipo de cuadro utilizado en la compresión de video para representar cuadros de un video. Los cuadros B pueden usar información de cuadros anteriores y futuros para representar cada cuadro de video.

Los videos codificados con DivX más antiguos comúnmente usan un método feo llamado flujo de bits empaquetado que coloca varios cuadros de video en un solo fragmento AVI. El flujo de bits empaquetado no es MPEG-4 estándar, usa más espacio, requiere más potencia de CPU para codificar / decodificar y (lo más importante) puede causar problemas si se copia en otro tipo de contenedor. Esta es la razón principal de la advertencia.

Como estás volviendo a codificar el video en lugar de solo copiarlo, deberías estar bien. Si desea conservar el video original, pero copiarlo en otro tipo de contenedor (por ejemplo, MP4 o MKV), sería mejor descomprimir los fotogramas B primero usando el filtro FFmpeg mpeg4_unpack_bframes.

Podrías desempaquetar los marcos B con algo simple como

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
xiii1408
fuente