Edição de Vídeo com ffmpeg

Com a pandemia veio a necessidade de dar aulas online. Essas aulas podem ser gravadas, mas normalmente uma aula tem conversas, momentos de preparação, espera dos alunos, problemas técnicos, tudo isso fica gravado e toma tempo e o arquivo de vídeo fica bem maioir, com pouca informação. Assim resolvi que iria editar meus vídeos antes de disponiblizá-los para os alunos. Usar um editor de vídeo não linear demora muito, posto que eu só queria cortar trechos do vídeo e depois concatená-los no vídeo final.

Assim apareceu a possibilidade de usar o ffmpeg na linha de comando. Aqui voiu mostrar meu fluxo de trabalho:

  1. Abro o vídeo com o vlc.
  2. Anoto os tempos que gostaria de cortar da versão final.
  3. Uso o comando: ffmpeg para cortar cada trecho, numerando sequencialmente cada um deles.
  4. Transformo cada trecho para o formato ts, pois o formato mp4 não é concatenável.
  5. Concateno tudo em um arquivo mp4 usando o ffmpeg.

Cortar trechos de um vídeo

Para extrair cada trecho, uso:

ffmpeg -i video_original.mp4 -vcodec copy -acodec copy -ss 00:34:14 -t 00:15:00 trecho001.mp4

no qual ss é o tempo onde começa o corte e t é sua duração.

Para transformar em ts, uso o comando:

ffmpeg -i trecho001.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts trecho1.ts

Para concatenar uso o comando:

ffmpeg -i "concat:trecho1.ts|trecho2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

Atrasar o vídeo em relação ao aúdio

Para atrasar um vídeo em 1,04 segundos:

ffmpeg -i original.mp4 -itsoffset 1.04 -i original.mp4 -map 1:v -map 0:a -c copy video-saida.mp4

Atrasar o aúdio em relação ao vídeo

Para atrasar um aúdio de 1,04 segundos em relação ao vídeo

ffmpeg -i original.mp4 -itsoffset 1.04 -i original.mp4 -map 0:v -map 1:a -c copy synced.avi

Referências:

  1. Como copiar trechos de um vídeo no linux com o ffmpeg
  2. Ffmpeg concatenate
  3. No ffmpeg, como atrasar apenas o áudio de um vídeo .mp4 sem converter o áudio?
  4. Fixing audio sync with ffmpeg That’s all!
João Araujo
João Araujo
Professor Associado

Meus interesses de pesquisa incluem desenvolvimento de software para fotogrametria e software livre.