Tamanhos de quadros
A partir da documentação do filtro de concatenação :
All corresponding streams must have the same parameters in all segments; the filtering system will automatically select a common pixel format for video streams, and a common sample format, sample rate and channel layout for audio streams, but other settings, such as resolution, must be converted explicitly by the user.
Different frame rates are acceptable but will result in variable frame rate at output; be sure to configure the output file to handle it.
Suas entradas variam em tamanho de quadro, portanto, você deve usar o filtro de escala para criar um tamanho de quadro comum .
Timestamps
Também da mesma documentação:
For this filter to work correctly, all segments must start at timestamp 0.
Use o filtro setpts para fazer isso.
Exemplo
Um exemplo de filtragem parcial pode ser assim:
[0:v]scale=360x480,setpts=PTS-STARTPTS[v0];
[1:v]scale=360x480,setpts=PTS-STARTPTS[v1];
…
[49:v]scale=360x480,setpts=PTS-STARTPTS[v49];
[v0][0:a][v1][1:a]…[v49][49:a]concat=n=50:v=1:a=1
Use as predefinições
Faça um favor e use as predefinições de codificação. Não há motivo para declarar tantas opções. Os presets vão lidar com eles. É para isso que eles são.
Você pode remover:
-flags +loop -bt 256k -refs 1 -coder 0 -me_range 16 -subq 4
-partitions +parti4x4+parti8x8+partp8x8 -g 250 -keyint_min 25
-level 30 -qmin 10 -qmax 51 -qcomp 0.6 -trellis 2 -sc_threshold 40
-i_qfactor 0.71
E substitua essas opções por -preset faster
ou qualquer predefinição que você preferir. Veja FFmpeg Wiki: Guia de codificação de vídeo H.264 para mais informações.