← Blog

Como Unir e Concatenar Vídeos com FFmpeg (Guia 2026)

Guia completo para unir e concatenar múltiplos arquivos de vídeo usando FFmpeg. Abrange os métodos concat demuxer, filtro, protocolo e uma alternativa gratuita com um clique.

5 min read

Tem vários clipes de vídeo que precisa juntar em um único arquivo? O FFmpeg oferece diversas formas de concatenar vídeos—mas o método correto depende se seus clipes compartilham o mesmo formato, codec e resolução.

Este guia abrange as três abordagens com comandos exatos. E para quem prefere não depurar incompatibilidades de codec no terminal, há uma alternativa gratuita de arrastar e soltar no final.


Pré-requisitos: Instalar o FFmpeg

FFmpeg

macOS:

brew install ffmpeg

Ubuntu/Debian:

sudo apt update && sudo apt install ffmpeg

Windows: Baixe em ffmpeg.org, extraia e adicione bin ao PATH.


Método 1: Concat Demuxer (Mesmo Formato — Mais Rápido)

Este é o método mais rápido e simples. Funciona quando todos os vídeos têm o mesmo codec, resolução e taxa de quadros.

Passo 1: Crie uma lista de arquivos

Crie um arquivo de texto chamado files.txt:

file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'

Passo 2: Execute o comando concat

ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
  • -f concat — usa o concat demuxer
  • -safe 0 — permite caminhos absolutos/relativos
  • -c copy — sem recodificação (instantâneo)

Gerar a lista de arquivos automaticamente

Linux/macOS:

for f in *.mp4; do echo "file '$f'" >> files.txt; done
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

Windows (PowerShell):

Get-ChildItem *.mp4 | ForEach-Object { "file '$($_.Name)'" } | Out-File -Encoding ascii files.txt
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

Método 2: Concat Filter (Formatos Diferentes — Mais Flexível)

Quando os clipes têm codecs, resoluções ou taxas de quadros diferentes, você precisa do concat filter. Ele recodifica tudo para uniformizar.

Dois vídeos:

ffmpeg -i clip1.mp4 -i clip2.mov \
  -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Três vídeos:

ffmpeg -i clip1.mp4 -i clip2.mov -i clip3.avi \
  -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a]concat=n=3:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4
  • n=3 — número de segmentos de entrada
  • v=1 — uma saída de fluxo de vídeo
  • a=1 — uma saída de fluxo de áudio

Normalizar resolução antes de concatenar

Se os clipes tiverem resoluções diferentes, redimensione-os primeiro:

ffmpeg -i clip1.mp4 -i clip2.mp4 \
  -filter_complex \
    "[0:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2[v0]; \
     [1:v]scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2[v1]; \
     [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Método 3: Concat Protocol (Apenas MPEG-TS)

Para streams de transporte MPEG, você pode usar o protocolo concat diretamente:

# Primeiro converta para MPEG-TS
ffmpeg -i clip1.mp4 -c copy -bsf:v h264_mp4toannexb clip1.ts
ffmpeg -i clip2.mp4 -c copy -bsf:v h264_mp4toannexb clip2.ts

# Em seguida, concatene
ffmpeg -i "concat:clip1.ts|clip2.ts" -c copy -bsf:a aac_adtstoasc output.mp4

Este método geralmente não é mais recomendado—o concat demuxer (Método 1) é mais simples e confiável.


Cenários Especiais

Mesclar Faixas de Vídeo e Áudio

Combine um arquivo de vídeo com um arquivo de áudio separado:

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -shortest output.mp4
  • -shortest — para quando o fluxo mais curto terminar

Substituir Áudio em um Vídeo

ffmpeg -i video.mp4 -i new_audio.mp3 -c:v copy -c:a aac -map 0:v -map 1:a output.mp4

Concatenar Vídeos com Taxas de Quadros Diferentes

Force todas as entradas para 30fps antes de concatenar:

ffmpeg -i clip1.mp4 -i clip2.mp4 \
  -filter_complex \
    "[0:v]fps=30[v0];[1:v]fps=30[v1]; \
     [v0][0:a][v1][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Vídeos Sem Áudio

Se alguns clipes não tiverem faixas de áudio, adicione áudio silencioso:

ffmpeg -i clip_no_audio.mp4 -f lavfi -i anullsrc=r=44100:cl=stereo \
  -c:v copy -c:a aac -shortest clip_with_silence.mp4

Depois concatene normalmente.


Erros Comuns e Soluções

“Discarding non-monotonous DTS”

Os timestamps estão desalinhados entre os clipes. Recodifique:

ffmpeg -f concat -safe 0 -i files.txt -c:v libx264 -c:a aac output.mp4

“Stream 0 codec does not match”

Seus clipes têm codecs diferentes. Use o concat filter (Método 2) em vez do concat demuxer.

“Discarding 1 additional packets” / problemas de sincronização

Adicione -fflags +genpts para regenerar os timestamps:

ffmpeg -fflags +genpts -f concat -safe 0 -i files.txt -c copy output.mp4

A saída tem quadros pretos entre os clipes

Isso acontece quando os clipes têm formatos de pixel diferentes. Force um formato comum:

ffmpeg -i clip1.mp4 -i clip2.mp4 \
  -filter_complex "[0:v]format=yuv420p[v0];[1:v]format=yuv420p[v1];[v0][0:a][v1][1:a]concat=n=2:v=1:a=1[outv][outa]" \
  -map "[outv]" -map "[outa]" output.mp4

Evite o Terminal: Use o WaveSpeed Desktop

Mesclar vídeos com FFmpeg significa escolher entre três métodos diferentes, criar listas de arquivos, lidar com incompatibilidades de codec, depurar problemas de timestamp e escrever strings filter_complex que parecem pesadelos de regex.

O WaveSpeed Desktop inclui um Media Merger integrado que simplifica tudo:

  • Arraste e solte seus clipes de vídeo
  • Reordene-os conforme necessário
  • Clique em mesclar — um arquivo, pronto

Formatos diferentes? Resoluções diferentes? O aplicativo trata disso automaticamente.

WaveSpeed Desktop Media Merger

Baixe o WaveSpeed Desktop gratuitamente: https://github.com/WaveSpeedAI/wavespeed-desktop/releases


Perguntas Frequentes

Qual método de concat devo usar? Se todos os clipes tiverem o mesmo codec e resolução, use o Método 1 (demuxer) — é instantâneo. Se os clipes diferirem em qualquer aspecto, use o Método 2 (filter).

Posso adicionar transições entre os clipes? O FFmpeg suporta transições básicas de crossfade com o filtro xfade, mas é complexo. Para transições, um editor visual geralmente é mais fácil.

Mesclar vídeos reduz a qualidade? Não com -c copy (Método 1). Com o concat filter (Método 2), ocorre recodificação e uma pequena perda de qualidade é possível. Use um CRF baixo (18–20) para minimizá-la.

Existe um limite para quantos vídeos posso mesclar? Não há limite definido no FFmpeg. Na prática, a memória e o tempo de processamento escalam com o número de entradas.

Compartilhar