Ffmpeg tratando de procesar el mismo marco durante horas. ¿Cómo saltar ese marco?


0

Estoy intentando concat varias webm archivos, añadiendo brecha de blackframe entre archivos.

La mayoría de los archivos se procesaron bien, pero luego me encontré con un problema. En algún momento en la salida:

La secuencia de entrada # 1: 1 marco cambió de tamaño: 640x480 fmt: yuv420p a tamaño: 480x360 fmt: yuv420p   fotograma = 8173 fps = 109 q = 0,0 tamaño = 29580kB tiempo = 00: 15: 44.88 bitrate = 256.5kbits / s velocidad = 12.6x
cuadro = 8173 fps = 108 q = 0.0 tamaño = 29580kB tiempo = 00: 15: 44.88 bitrate = 256.5kbits / s velocidad = 12.5x
cuadro = 8173 fps = 107 q = 0.0 tamaño = 29580kB tiempo = 00: 15: 44.88 bitrate = 256.5kbits / s velocidad = 12.4x

..y se repite durante horas hasta que mate ffmpeg. Registro completo https://pastebin.com/e8URCSec .

Comando es

/home/vagrant/bin/ffmpeg -y -i file1.webm
-i file2.webm -f lavfi 
-i "color=c=black:s=640x480:r=25" 
-f lavfi -i anullsrc 
-filter_complex "[0:v]scale=640:480[scaled0]; [1:v]scale=640:480[scaled1]; 
[2]trim=duration=68.579[g0]; [3]atrim=duration=68.579[ga0]; 
[scaled0][0:a][g0][ga0][scaled1][1:a]concat=n=3:v=1:a=1" 
-cpu-used -5 -deadline realtime -threads 4 
output.webm 2> output.log

Si veo mensaje " marco cambiado de tamaño ", pero por eso he añadido scale filtrar. Sin ese filtro hubo errores y ffmpeg se estrelló.

La versión Ffmpeg es estándar desde el repositorio de Ubuntu 16.04.

Por favor agregue un comentario si debo proporcionar archivos de entrada.


Si conoce el número de cuadro, inserte select='not(eq(n,N))' Antes de la escala para el segundo video. N es el cuadro #, comenzando desde cero. Si es difícil de identificar, invierta el orden de los dos videos en el concat y vea dónde se atasca.
Gyan

@Mulvya gracias por el consejo. ¿Probablemente sería difícil saber automáticamente el número de cuadro malo? La razón por la que pregunto es que necesitamos un montón de archivos procesados. Quiere evitar ese tipo de errores en el futuro.
frutality

1
¿Has probado una versión más reciente de ffmpeg (una compilación estática del sitio web)? El registro no parece ser de ffmpeg suministrado con Ubuntu. En cualquier caso, enviar un informe de error tendría sentido si pudiera proporcionar el archivo de entrada que muestra el problema. En cuanto a su script, establecería un tiempo de espera al llamar al comando. Si nunca se termina, deberías matarlo e inspeccionar manualmente qué está mal.
slhck

Respuestas:


0

Bueno, creo que encontré una solución. Estoy bastante seguro de que el problema es que los archivos de origen tienen audio y video no sincronizados. No sé las razones, tenemos archivos del servidor de medios.

Pero hay una solución. Primero usamos scale Filtrar en cada archivo. Y solo después de eso usamos concat. Entonces ffmpeg funciona bien.

Todavía tenemos audio / video sin sincronizar, pero eso no es un problema de ffmpeg.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.