¿Cómo corregir el error 'Duración pasada demasiado grande' en FFmpeg?



Pruebe Nuestro Instrumento Para Eliminar Los Problemas

FFmpeg es un programa de código abierto y de uso gratuito que se utiliza para manejar videos, audio y otras transmisiones multimedia. El programa ha sido diseñado para manejar el manejo basado en la línea de comandos del procesamiento de archivos de video y audio. Sin embargo, recientemente, se han recibido muchos informes de ' Duración pasada demasiado grande ”Error al codificar o reducir la escala de un video.



Logotipo de FFmpeg



¿Qué causa el error 'Duración pasada demasiado grande' en FFmpeg?

Después de recibir numerosos informes de varios usuarios, decidimos investigar el problema e ideamos un conjunto de soluciones para corregirlo por completo. Además, analizamos las razones por las cuales se activa este error y las enumeramos de la siguiente manera:



  • Falta la velocidad de fotogramas de entrada: En la mayoría de los casos, el problema se debe a que la velocidad de fotogramas de entrada no se ingresa para las imágenes. Esto da como resultado que el programa asuma que la velocidad de fotogramas de entrada es de 25 fps, lo que puede causar problemas si ese no es el caso.
  • Configuración de sincronización no implementada: Con la mayoría de los usuarios, la implementación de ciertas configuraciones de sincronización solucionó el problema. A veces, es posible que los fotogramas no se sincronicen correctamente debido a que ciertos fotogramas pueden descartarse y se puede activar este error.

Ahora que tiene una comprensión básica de la naturaleza del problema, avanzaremos hacia las soluciones. Asegúrese de implementarlos en el orden específico en el que se presentan para evitar conflictos.

Solución 1: agregar marcos de entrada

Si no se ha agregado la velocidad de fotogramas de entrada del video, es posible que se pierdan algunos fotogramas y se active el error. Por lo tanto, en este paso, agregaremos los marcos de entrada para eso:

  1. Observa la convocatoria que usaste para convertir el video, podría estar en similar a lo siguiente
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. Ahora simplemente añadir la cuadros por segundo a la convocatoria utilizada de la siguiente manera
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. Verifique si el problema persiste.

Solución 2: uso de banderas de sincronización

Agregar los indicadores de sincronización puede ayudar a sincronizar la salida y el video de entrada de acuerdo con las velocidades de fotogramas iniciales del video. Por lo tanto, si no se han agregado los comandos de sincronización, es posible que los fotogramas no se estén sincronizando correctamente. En este paso, agregaremos los comandos de sincronización.



  1. En esta etapa, probablemente debe estar utilizando la siguiente convocatoria
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. Sin embargo, en lugar de esto, utilizar la siguiente convocatoria
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. Tenga en cuenta que acabamos de agregar el ' -async 1 -vsync1 ”A la convocatoria y esto debe agregarse al final de la convocatoria que está utilizando.
    Nota: Su convocatoria inicial puede diferir de la que se usó como ejemplo. Los cambios agregados a la convocatoria, sin embargo, no deberían diferir.
2 minutos de lectura