ffmpeg Duplicar marcos

ffmpeg Duplicar marcos

Una situación muy molesta...
Tengo un vídeo MPG2 que tiene una velocidad de fotogramas de 29,97, pero al convertirlo a MP4 los fotogramas se duplican.

Ese comando (conversión directa, sin opciones):
ffmpeg -i ~/Desktop/file.mpg ~/Desktop/file.mp4
provoca fotogramas duplicados...

Al configurar la velocidad de fotogramas con:
ffmpeg -i ~/Desktop/file.mpg -framerate 29.97 ~/Desktop/file.mp4
¡Tampoco funciona!

Llevándome a intentarlo:
ffmpeg -i ~/Desktop/file.mpg -r 29.97 ~/Desktop/file.mp4
¡Aún con fotogramas duplicados!

Finalmente probé el de ffmpeg.3er¡Opción de velocidad de fotogramas!:
ffmpeg -i ~/Desktop/file.mpg -vf fps=fps=29.97 ~/Desktop/file.mp4

Excepto que, cuando salió, ¡el audio/vídeo no estaba sincronizado!

¿Qué opción de FPS debo usar?

Respuesta1

Usar

ffmpeg -i ~/Desktop/file.mpg -vsync 0 ~/Desktop/file.mp4

Esto omite la duplicación.

-vsync passthroughes sinónimo de -vsync 0.

Respuesta2

-vsyncestá en desuso ahora, por lo que deberías usarlo -fps_modeen su lugar.

De forma predeterminada, fps_modees auto, por lo que puede cambiar tus fps automáticamente. Por ejemplo, la fuente original tiene una velocidad de fotogramas variable, pero ffmpeg puede decidir cambiarla automáticamente a una velocidad de fotogramas constante, lo que puede dar lugar a fotogramas duplicados y eliminados.

Para evitar cualquier cambio de fps, configure -fps_mode passthrough. (Es lo mismo que -vsync 0o -vsync passthrough).

Para obtener más información, consultedocumentación ffmpeg.

ffmpeg -i ~/Desktop/file.mpg -fps_mode passthrough ~/Desktop/file.mp4

información relacionada