Ffmpeg tentando processar o mesmo quadro por horas. Como pular esse quadro?

0

Estou tentando concatenar vários arquivos webm , adicionando a lacuna do blackframe entre os arquivos.

A maioria dos arquivos é processada corretamente, mas depois eu encontrei o problema. Em algum momento na saída:

Input stream #1:1 frame changed from size:640x480 fmt:yuv420p to size:480x360 fmt:yuv420p frame= 8173 fps=109 q=0.0 size= 29580kB time=00:15:44.88 bitrate= 256.5kbits/s speed=12.6x
frame= 8173 fps=108 q=0.0 size= 29580kB time=00:15:44.88 bitrate= 256.5kbits/s speed=12.5x
frame= 8173 fps=107 q=0.0 size= 29580kB time=00:15:44.88 bitrate= 256.5kbits/s speed=12.4x

.. e repete por horas até eu matar ffmpeg. Log completo link .

O comando é

/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

Sim, vejo a mensagem " frame alterado do tamanho ", mas por isso adicionei scale filter. Sem esse filtro, houve erros e o ffmpeg travou.

A versão do Fmpmpeg é padrão no repositório do Ubuntu 16.04.

Por favor, adicione um comentário se eu fornecer arquivos de entrada.

    
por frutality 15.04.2017 / 15:23

1 resposta

0

Bem, acho que encontrei uma solução alternativa. Eu tenho certeza que o problema é que os arquivos de origem têm áudio e vídeo não sincronizados. Eu não sei as razões, nós temos arquivos do servidor de mídia.

Mas há uma solução alternativa. Primeiro, usamos o filtro scale em cada arquivo. E só depois disso usamos concat . Então ffmpeg funciona bem.

Ainda temos áudio / vídeo não sincronizados, mas isso não é problema de ffmpeg.

    
por 17.04.2017 / 09:50

Tags