Tener problemas para leer un vídeo YUV con mplayer/mencoder

Tener problemas para leer un vídeo YUV con mplayer/mencoder

Estoy haciendo algunas experiencias con el formato de video sin procesar YUV. Este video YUV que creé (con ppmtoy4m de mjpegtools, a partir de una serie de capturas de pantalla tomadas a 24 fps) se reproduce bien con Totem, velocidad correcta, colores correctos, todo. Además, ffmpeg puede convertirlo a .mpg sin problemas. Pero mplayer y mencoder se pierden. Estoy usando la versión 1.0-0.47.svn20100703 en CentOS 6.

Lo intenté...

mplayer video.yuv -demuxer rawvideo -rawvideo w=1152:h=864:format=i420

...pero el resultado es un extraño desplazamiento del marco, como el de un televisor antiguo con una horizontal desregulada. Aparentemente, interpreta los encabezados del marco como si fueran parte del marco.

Se puede encontrar el archivo YUV comprimidoaquí(ADVERTENCIA: ¡34 megas comprimidos, 3,5 gigas sin comprimir!)

Los fotogramas individuales de ppm sonaquí(2,8 megas comprimidos, 557 megas sin comprimir)

El vídeo fue generado con

cat *.ppm | ppmtoy4m -F 24:1 >video.yuv

¿Hay algún parámetro que me falta?

Respuesta1

Tu problema es que el formato y4m no es yuv. Como mencionó slhck, yuv NO tiene metadatos y carece incluso de información de ancho y alto (sin mencionar que especifica 4:2:0 4:2:2 o 4:4:4; variantes de 8 bits, 10 bits y 16 bits).

Encontré una descripción del formato Y4M enhttps://wiki.multimedia.cx/index.php?title=YUV4MPEG2y definitivamente tiene metadatos.

Si desea transmisiones yuv sin procesar que mplayerpuedan reproducirse, ppmtoy4mno las generará. Es posible que puedas utilizar

ffmpeg -i %04d.ppm -c:v rawvideo -f rawvideo -pix_fmt yuv420p video.yuv

Si, en cambio, desea reproducir una transmisión de y4m, alguien más tendrá que buscar los argumentos correctos mplayer(u otra herramienta).

información relacionada