ffmpeg se bloquea al usar -fflags +genpts

ffmpeg se bloquea al usar -fflags +genpts

Estoy intentando remuxar un archivo .vob (que obtuve usando vobcopy) en un contenedor mp4 (mkv también lo haría) usando ffmpeg 4.2.4-ubuntu0.1. Inicialmente, finalizó la remuxing, pero obtuve estos errores:

[mp4 @ 0x560f9a37e5c0] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly

y varios miles de veces

[mp4 @ 0x560f9a37e5c0] pts has no value

Entonces intenté arreglarlo usando -fflags +genpts:

ffmpeg -fflags +genpts -i 'video.vob' -c copy 'video.mp4'

Después de procesar alrededor de 90000 cuadros, ffmpeg se atasca de alguna manera (pero la CPU sigue funcionando al 100%) y solo puede finalizar usando killCtrl+C.

Lo probé con otro archivo .vob y esta vez ffmpeg se colgó en otro punto.


Al crear el registro de depuración completo, noté que después de cancelar el programa, la salida siempre muestra el mismo último fotograma editado (92775). Aquí puedes verlo:https://paste.ubuntu.com/p/tbhMmpQwff/

Respuesta1

Solucioné el problema agregando la +igndtsbandera:

ffmpeg -fflags +genpts+igndts -i 'video.vob' -c copy 'video.mp4'

Resultó en algunos mensajes de error en el punto donde ffmpeg colgó antes, pero el archivo de video creado estaba bien.

[mp4 @ 0x56482f355a00] Invalid DTS: 333993600 PTS: 0 in output stream 0:0, replacing by guess
[mp4 @ 0x56482f355a00] Non-monotonous DTS in output stream 0:0; previous: 334018800, current: 334018800; changing to 334018801. This may result in incorrect timestamps in the output file.

No estoy seguro de qué causó el problema y qué +igndtsse puede hacer para solucionarlo, pero estoy feliz de que funcione.

información relacionada