O erro é causado pelos dois fluxos de vídeo que não compartilham as mesmas dimensões - ou proporção de pixel, para ser preciso. O primeiro define um SAR (sample = pixel) de 641/643, portanto não é um quadrado perfeito.
O ffmpeg não pode trazer automaticamente as duas dimensões para as mesmas dimensões, pois não é possível adivinhar qual delas você deseja reduzir ou aumentar, ou cuja proporção precisa ser alterada.
Você pode tentar a proporção da configuração forçada:
ffmpeg -i temp/production/videos/title.66.avi -i temp/production/videos/66.1391426205.avi \
-filter_complex '[0:0] setsar=sar=1 [in1]; [1:0] setsar=sar=1 [in2]; [in1][in2] concat [v]' -map '[v]' \
temp/production/videos/final.66.1391426205.mp4 2>&1
Em vez de fazer isso, pode fazer sentido trazer os dois vídeos para as mesmas dimensões antes, usando o filtro scale
. Para fazer isso, basta substituir setsar=sar=1
por scale=640:640
ou qualquer que seja o tamanho fixo da saída necessária.
Se você quiser que o áudio seja copiado e concatenado, adicione um segundo filtro concat
:
ffmpeg -i temp/production/videos/title.66.avi -i temp/production/videos/66.1391426205.avi \
-filter_complex '[0:v] setsar=sar=1 [in1]; [1:v] setsar=sar=1 [in2]; [in1][in2] concat [v]; [0:a][1:a] concat=v=0:a=1 [a]' -map '[v]' -map '[a]' \
temp/production/videos/final.66.1391426205.mp4 2>&1
Se você tem dois vídeos que gostaria de inserir em um player de tamanho específico, use este filtro: Redimensionando vídeos com ffmpeg / avconv para caber em player de tamanho estático