Como adicionar legenda e arquivo de vídeo concat em uma linha com ffmpeg?

1

Eu tenho 3 vídeos: 1387432825.avi, 1387435884.avi, 1387436066.avi e 3 legendas para vídeos: part1.ass, part2.ass, part3.ass Eu tento adicionar legendas a cada vídeo com comandos:

ffmpeg -i 1387432825.avi -vf 'ass=part1.ass' -preset ultrafast -y part1.mp4
ffmpeg -i 1387435884.avi -vf 'ass=part2.ass' -preset ultrafast -y part2.mp4
ffmpeg -i 1387436066.avi -vf 'ass=part3.ass' -preset ultrafast -y part3.mp4

Em seguida, concatino 3 saídas com comandos:

ffmpeg -i part1.mp4 -i part2.mp4 -i part3.mp4 -filter_complex 'concat=n=3' -preset ultrafast -y total.mp4

Finalmente, eu tenho total.mp4 com subtiles !!! Mas eu tenho 4 comandos para 3 arquivos de vídeo. Eu quero fazer isso com 1 comando. Alguma ajuda?

P / S: Eu tento usar este comando:

ffmpeg  -i 1387432825.avi -i 1387435884.avi -i 1387436066.avi -filter_complex 'concat=n=3[join];[join]ass=total.ass' -preset ultrafast -y final.mp4

Mas acho que não é bom para meus trabalhos.

    
por nhanpt 22.01.2014 / 05:01

2 respostas

0

Eu uso:

ffmpeg -threads 0 -i 1387432825.avi -i 1387436066.avi -i 1387435884.avi -filter_complex 'ass=part1.ass[1];ass=part2.ass[2];ass=part3.ass[3];[1][2][3]concat=n=3' -preset ultrafast -y final.mp4
    
por 24.01.2014 / 03:20
2

Suponho que deveria ser algo assim:

fmpeg  -i 1387432825.avi -i 1387435884.avi -i 1387436066.avi\
-filter_complex \
"[0:v]ass=part1.ass[video0];[1:v]ass=part1.ass[video1];\
[2:v]ass=part1.ass[video2];\
[video0][video1][video2]concat=n=3[out]" \
-map [out] -preset ultrafast -y final.mp4

E se você precisar de som, você também deve fazer a mesma concat e mapear os streams de áudio. Espero que ajude.

    
por 23.01.2014 / 14:23