Desajuste de la velocidad de fotogramas al convertir a video sin formato

Estoy tratando de convertir un video H.264 a rawvideo usando el siguiente comando:

ffmpeg -r 50 -i test.ts -c:v rawvideo -r 50 -pix_fmt yuv420p -filter_complex "[0:v] setpts=PTS-STARTPTS" -y test.yuv

Y aquí se espera que el archivo de video sin procesar tenga 50 fps:

Output #0, rawvideo, to 'test.yuv':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 552960 kb/s, 50 fps, 50 tbn, 50 tbc
    Metadata:
      encoder         : Lavc57.89.100 rawvideo
frame=15599 fps=111 q=-0.0 Lsize=21058650kB time=00:05:11.98 bitrate=552960.0kbits/s speed=2.22x
video:21058650kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

Pero cuando reviso el archivo con ffmpeg, lo muestra como 25 fps y la duración es el doble de la duración original del video:

ffmpeg -s:v 1280x720 -i test.yuv

[rawvideo @ 0x55ad594ad840] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from 'test.yuv':
  Duration: 00:10:23.96, start: 0.000000, bitrate: 276480 kb/s
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1280x720, 276480 kb/s, 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified

¿Por qué cuando reviso el archivo de video sin procesar con ffmpeg, la velocidad de fotogramas se indica como 25 fps y se informa que la duración es el doble de la duración original?

Respuestas (1)

El video sin procesar es solo eso: un volcado sin procesar de la carga de contenido de video, no hay paquetes ni metadatos.

Salida a Y4M para un formato con metadatos

ffmpeg -r 50 -i test.ts -pix_fmt yuv420p -vf "setpts=PTS-STARTPTS" -y test.y4m