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.
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

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 entradav=1— uma saída de fluxo de vídeoa=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.

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.



