Menggunakan overlay
filter video untuk menambahkan logo ke video:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4
Untuk memahami perintah ini, Anda perlu tahu apa itu penentu aliran dan membaca Pengantar FFmpeg Filtering akan membantu. [0:v]
merujuk ke aliran video dari input pertama ( video.mp4
), dan [1:v]
mengacu pada streaming video dari input kedua ( logo.mp4
). Ini adalah bagaimana Anda dapat mengetahui overlay
input apa yang digunakan. Anda dapat menghilangkan [0:v][1:v]
, dan overlay
masih akan bekerja, tetapi disarankan untuk eksplisit dan tidak bergantung pada kemungkinan default yang tidak diketahui.
Secara default, logo akan ditempatkan di kiri atas.
Menggunakan streaming-codec:a copy
akan menyalin audio. Ini hanya muxes audio yang bukan menyandikan ulang itu. Anggap saja sebagai "salin dan tempel" audio.
Memindahkan logo
Contoh ini akan memindahkan logo 10 piksel ke kanan, dan 10 piksel ke bawah:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
Contoh ini akan memindahkan logo 10 piksel dari sisi kanan dan 10 piksel ke bawah:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
main_w
mengacu pada lebar input "utama" (latar belakang atau [0:v]
), dan overlay_w
mengacu pada lebar input "overlay" (logo atau [1:v]
). Jadi, dalam contoh ini, ini dapat diterjemahkan ke overlay=320-90-10:10
atau overlay=220:10
.
Mengatur waktu hamparan
Beberapa filter dapat menangani pengeditan garis waktu yang memungkinkan Anda untuk menggunakan ekspresi aritmatika untuk menentukan kapan filter harus diterapkan. Lihat untuk ffmpeg -filters
melihat filter mana yang mendukung pengeditan waktu.
Contoh ini akan menampilkan logo hingga 30 detik:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4
Jika Anda ingin memudar logo lihat jawaban mark4o .