combine três vídeos entre a hora específica usando ffmpeg

0

Eu tenho uma situação em que quero combinar 3 vídeos

O primeiro vídeo (guide.mp4) é o guia e os outros 2 são pequenos pedaços que precisam entrar no "guia".

De maneira gráfica, tenho o seguinte

|         .---1.mp4---.                            .-----2.mp4-----.    |
|---------+-----------+------------guide.mp4-------+--------------------|
0s        4s          9s                          18s             25s   28s

O 1.mp4 e 2.mp4 cobrirão o guia entre esses tempos. os vídeos são do mesmo tamanho e todos são arquivos .mp4

Tenho certeza que isso é coberto, mas eu olhei muito, mas como eu mesmo não sou bom em inglês, eu não sei como eu poderia procurá-lo com sucesso ...

Obrigado antecipadamente.

    
por papas-source 09.12.2014 / 20:04

1 resposta

1

Pode haver um único comando para fazer tudo isso, mas como você está tentando aparar e combinar clipes, o método mais simples que consegui encontrar foi dividir o processo em três partes. Comece usando o ffmpeg para aparar o clipe guia em 3 seções como esta:

$ ffmpeg -i guide.mp4 -t 5 guide-out-1.mp4
$ ffmpeg -i guide.mp4 -ss 00:09 -t 9 guide-out-2.mp4
$ ffmpeg -i guide.mp4 -ss 00:25 -t 3 guide-out-3.mp4

e, em seguida, combinar os clipes que você precisa para criar um arquivo de texto chamado video-list.txt, de modo que:

$ cat video-list.txt
file 'guide-out-1.mp4'
file '1.mp4'
file 'guide-out-2.mp4'
file '2.mp4'
file 'guide-out-3.mp4'

finalmente, use o ffmpeg novamente para combiná-los em um único clipe:

$ ffmpeg -f concat -i video-list.txt -c copy new-guide.mp4
    
por 10.12.2014 / 01:08

Tags