Estou aprendendo a dividir e combinar vídeos com ffmpeg
. Atualmente estou praticando em um MP4 de 799 KB, one_through_ten-timestamped.mp4
, onde cada quadro tem um "número de quadro" gravado (até o quadro 40, o número gravado avança somente em todos os outros quadros).
O comando que eu uso é:
ffmpeg -f concat -i one_through_ten_edit_list.txt -c copy one_through_ten_edited.mp4
Onde one_through_ten_edit_list.txt
é:
file one_through_ten-timestamped.mp4
inpoint 00:00:01.500
outpoint 00:00:05.000
file one_through_ten-timestamped.mp4
inpoint 00:00:09.500
outpoint 00:00:13.000
Quando executo este comando em ffmpeg
, o vídeo de saída tem vários problemas:
ffplay
). Quando executo essas mesmas edições no MPEG Streamclip , o vídeo resultante é reproduzido como esperado. Aqui está uma saída tabular de ffprobe
on one_through_ten-timestamped.mp4
que mostra onde o vídeo ffmpeg e o MPEG Streamclip diferem em seus pontos de concatenação:
Observe que ffmpeg
e MPEG Streamclip tratam o segundo segmento mais ou menos da mesma forma, mas ffmpeg
parece não respeitar o inpoint
no primeiro vídeo de entrada. Note que no meu MP4, há um pacote por quadro.
ffmpeg
se comportou dessa maneira da versão 2.8 (talvez antes) até 3.3.3. Estou faltando uma opção de linha de comando ou lista de edição? Certamente outros usaram com sucesso ffmpeg
para dividir e combinar vídeos (sem recomprimir).