Seleção de vapor
Por padrão, um fluxo por tipo de fluxo será selecionado. Se você usar -map
, esse comportamento padrão seleção de fluxo será desativado.
No entanto, geralmente é recomendado definir explicitamente as entradas e saídas do filtro, em vez de confiar nos padrões para evitar problemas inesperados de seleção de fluxo.
Escala
Em vez de trunc(oh*a/2)*2
, você provavelmente poderia usar apenas -2
. Da documentação do filtro de vídeo em escala:
If one of the values is -n with n > 1, the scale filter will also use a value that maintains the aspect ratio of the input image, calculated from the other specified dimension. After that it will, however, make sure that the calculated dimension is divisible by n and adjust the value if necessary.
O x264 exige que a largura e a altura sejam divisíveis por 2 ao gerar yuv420p, portanto, o -2
lidará com isso supondo que seu valor declarado seja aceitável.
Exemplo
Seu comando resultante poderia ser algo assim:
ffmpeg -i input.mp4 -filter_complex \
"[0:v]split=2[i1][i2]; \
[i1]scale=-2:480,format=yuv420p[o1]; \
[i2]scale=-2:640,format=yuv420p[o2]" \
-map "[o1]" -map 0:a -c:v libx264 output1.mp4 \
-map "[o2]" -map 0:a -c:v libx264 output2.mp4