Cara Menggabungkan dan Menyambung Video dengan FFmpeg (Panduan 2026)
Panduan lengkap untuk menggabungkan dan menyambung beberapa file video menggunakan FFmpeg. Mencakup metode concat demuxer, filter, protokol, dan alternatif gratis satu klik.
Punya beberapa klip video yang perlu digabungkan menjadi satu file? FFmpeg menawarkan beberapa cara untuk menggabungkan video—namun metode yang tepat bergantung pada apakah klip-klip tersebut memiliki format, codec, dan resolusi yang sama.
Panduan ini mencakup ketiga pendekatan dengan perintah yang tepat. Dan bagi yang tidak ingin men-debug ketidakcocokan codec di terminal, ada alternatif drag-and-drop gratis di bagian akhir.
Prasyarat: Instal FFmpeg

macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
Windows:
Unduh dari ffmpeg.org, ekstrak, dan tambahkan bin ke PATH.
Metode 1: Concat Demuxer (Format Sama — Tercepat)
Ini adalah metode tercepat dan paling sederhana. Berfungsi ketika semua video memiliki codec, resolusi, dan frame rate yang sama.
Langkah 1: Buat daftar file
Buat file teks bernama files.txt:
file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'
Langkah 2: Jalankan perintah concat
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
-f concat— gunakan concat demuxer-safe 0— izinkan path absolut/relatif-c copy— tanpa re-encoding (instan)
Buat daftar file secara otomatis
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
Metode 2: Concat Filter (Format Berbeda — Paling Fleksibel)
Ketika klip memiliki codec, resolusi, atau frame rate yang berbeda, Anda perlu menggunakan concat filter. Ini akan me-re-encode semua video agar sesuai.
Dua video:
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
Tiga video:
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— jumlah segmen inputv=1— satu output stream videoa=1— satu output stream audio
Normalisasi resolusi sebelum menggabungkan
Jika klip memiliki resolusi berbeda, skala terlebih dahulu:
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
Metode 3: Concat Protocol (Khusus MPEG-TS)
Untuk transport stream MPEG, Anda dapat menggunakan concat protocol secara langsung:
# Pertama konversi ke 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
# Kemudian gabungkan
ffmpeg -i "concat:clip1.ts|clip2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
Metode ini umumnya tidak direkomendasikan lagi—concat demuxer (Metode 1) lebih sederhana dan lebih andal.
Skenario Khusus
Gabungkan Track Video dan Audio
Gabungkan file video dengan file audio terpisah:
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -shortest output.mp4
-shortest— berhenti ketika stream yang lebih pendek berakhir
Ganti Audio dalam Video
ffmpeg -i video.mp4 -i new_audio.mp3 -c:v copy -c:a aac -map 0:v -map 1:a output.mp4
Gabungkan Video dengan Frame Rate Berbeda
Paksa semua input ke 30fps sebelum menggabungkan:
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
Video Tanpa Audio
Jika beberapa klip tidak memiliki track audio, tambahkan audio senyap:
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
Kemudian gabungkan seperti biasa.
Kesalahan Umum dan Solusinya
“Discarding non-monotonous DTS”
Timestamp tidak selaras antar klip. Re-encode:
ffmpeg -f concat -safe 0 -i files.txt -c:v libx264 -c:a aac output.mp4
“Stream 0 codec does not match”
Klip Anda memiliki codec yang berbeda. Gunakan concat filter (Metode 2) alih-alih concat demuxer.
“Discarding 1 additional packets” / masalah sinkronisasi
Tambahkan -fflags +genpts untuk meregenerasi timestamp:
ffmpeg -fflags +genpts -f concat -safe 0 -i files.txt -c copy output.mp4
Output memiliki frame hitam antar klip
Ini terjadi ketika klip memiliki format piksel yang berbeda. Paksa format yang sama:
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
Lewati Terminal: Gunakan WaveSpeed Desktop
Menggabungkan video dengan FFmpeg berarti memilih di antara tiga metode berbeda, membuat daftar file, menangani ketidakcocokan codec, men-debug masalah timestamp, dan menulis string filter_complex yang terlihat seperti mimpi buruk regex.
WaveSpeed Desktop menyertakan Media Merger bawaan yang menyederhanakan segalanya:
- Seret dan lepas klip video Anda
- Susun ulang sesuai kebutuhan
- Klik merge — satu file, selesai
Format berbeda? Resolusi berbeda? Aplikasi menanganinya secara otomatis.

Unduh WaveSpeed Desktop secara gratis: https://github.com/WaveSpeedAI/wavespeed-desktop/releases
FAQ
Metode concat mana yang harus digunakan? Jika semua klip memiliki codec dan resolusi yang sama, gunakan Metode 1 (demuxer) — prosesnya instan. Jika klip berbeda dalam hal apapun, gunakan Metode 2 (filter).
Bisakah menambahkan transisi antar klip?
FFmpeg mendukung transisi crossfade dasar dengan filter xfade, tetapi cukup kompleks. Untuk transisi, editor visual biasanya lebih mudah digunakan.
Apakah menggabungkan video mengurangi kualitas?
Tidak dengan -c copy (Metode 1). Dengan concat filter (Metode 2), re-encoding terjadi dan sedikit penurunan kualitas mungkin terjadi. Gunakan CRF rendah (18–20) untuk meminimalkannya.
Apakah ada batas jumlah video yang bisa digabungkan? Tidak ada batas keras di FFmpeg. Secara praktis, memori dan waktu pemrosesan akan meningkat seiring jumlah input.



