Skip to main content

RECOMENDADO: Haga clic aquí para corregir errores de Windows y aprovechar al máximo el rendimiento del sistema

Se muestra un mensaje de advertencia de error de duración pasada demasiado grande cuando los usuarios intentan codificar una fuente de alta velocidad de fotogramas a una salida de baja frecuencia de fotogramas, lo que significa que las imágenes deben eliminarse.

past-duration-too-large-ffmpeg-error-5710622

FFmpeg es un programa sin costes y de código abierto que se usa para procesar videos, audio y otras transmisiones multimedia. El programa está diseñado para gestionar el procesamiento de línea de comandos de archivos de video y audio. Recientemente, a pesar de todo, ha habido muchos informes de error de «Duración pasada demasiado grande» al codificar o disminuir la escala de un video.

Cómo corregir un error demasiado grande de duración pasada en FFmpeg:

Configuración de la velocidad de fotogramas de entrada

setting-the-input-frame-rate-ffmpeg-500x383-1238572

Los mensajes de error desaparecen al determinar la frecuencia de fotogramas de entrada en lugar de la frecuencia de fotogramas de salida. La frecuencia de salida se selecciona de forma automática como frecuencia de entrada. Además debe tener cuidado con las nuevas versiones de ffmpeg, debido a que cuando utiliza imágenes PNG con la opción -i o el formato de entrada image2 o v4l2, debe utilizar -framerate en lugar de -r, consulte la documentación sobre la opción -r.

  • ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv

Además es viable especificar la velocidad de fotogramas de entrada y salida de forma separada:

  • ffmpeg -framerate 25 -i% 05d.png -r 10 -c: v libx264 -crf 5 out.mkv

Para este caso, solo se codifican 161/400 imágenes. Mientras tanto, las demás imágenes se eliminarán.

Ambas variantes son tasas de bits incrementales, debido a que luego de desentrelazar cada campo (la mitad de la imagen) que se muestra como un fotograma (la velocidad de fotogramas se duplica), la tasa de bits aumenta y si fotogramas por segundo es variable, tenemos problemas de marca de tiempo. Y si activamos el segundo campo, todo se verá bien con la tasa de bits y las marcas de tiempo.

Utilizar banderas de sincronización

using-sync-flags-ffmpeg-500x237-9764888

Agregar indicadores de sincronización puede ayudar a sincronizar la salida de video y la entrada de video de acuerdo con la velocidad de fotogramas inicial del video. De esta manera, si no se han incorporado los comandos de sincronización, es viable que las imágenes no se sincronicen correctamente. En este paso, agregaremos los comandos de sincronización.

En este punto, probablemente necesitará utilizar la próxima llamada

  • ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv

A pesar de todo, use la próxima llamada en su lugar

  • ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1

Tenga en cuenta que acabamos de agregar «-async 1 -vsync1» a la llamada, y esto debe agregarse al final de la llamada que está usando.
Nota: Su primera llamada puede diferir del ejemplo. A pesar de todo, las enmiendas adjuntas a la convocatoria de reunión no deben diferir.

https://trac.ffmpeg.org/ticket/4401

RECOMENDADO: Haga clic aquí para arreglar errores de Windows y aprovechar al máximo el rendimiento del sistema