Cara memutar video Watermark secara berurutan menggunakan FFMPEG

0

saya ingin memutar video watermark satu per satu di video output menggunakan ffmpeg.
Perintah di bawah ini menetapkan 4 video sebagai tanda air pada gambar dan membuat video output tetapi video tanda air bermain paralel.

String [] cmd = {"- i", "/ storage / emulated / 0 / Unduh / trasprent_bg.png", "- i", videourl_1.mp4, "- i", videourl_2.mp4, "- i", videourl_3 .mp4, "- i", videourl_4.mp4, "- i", image_collage.png, "- filter_complex", "skala [1: v] = 500: 500, crop = 266: 266 [tfg]; [2: v] skala = 500: 500, crop = 266: 266 [bfg]; [3: v] skala = 500: 500, crop = 266: 266 [threefg]; [4: v] skala = 500: 500, crop = 266: 266 [fourfg]; [5: v] skala = -1: -1 [kolase]; [0: v] [tfg] overlay = 2: 2 [o1]; [o1] [bfg] overlay = 272: 2 [o2]; [o2] [threefg] overlay = 2: 272 [o3]; [o3] [fourfg] overlay = 272: 272 [o4]; [o4] [kolase] overlay = 0: 0 "," - - an "," videoCrop37.mp4 "};

Tolong bantu aku.

p.jadhav
sumber

Jawaban:

0

Anda perlu mengubah cap waktu untuk video lainnya.

String [] cmd = {"- loop", "1", "- i", "/ storage / emulated / 0 / Unduh / trasprent_bg.png", "- i", videourl_1.mp4, "- i", videourl_2 .mp4, "- i", videourl_3.mp4, "- i", videourl_4.mp4, "- i", image_collage.png, "- filter_complex", "skala 1: v] = 500: 500, crop = 266 : 266 [tfg]; [2: v] skala = 500: 500, crop = 266: 266, setpts = PTS + X / TB [bfg]; [3: v] skala = 500: 500, crop = 266: 266 , setpts = PTS + Y / TB [threefg]; [4: v] skala = 500: 500, crop = 266: 266, setpts = PTS + Z / TB [fourfg]; [5: v] skala = -1: -1 [kolase]; [0: v] [tfg] overlay = 2: 2: eof_action = pass [o1]; overlay [bfg] = 272: 2: eof_action = pass [o2]; [o2] [ overlay threefg] = 2: 272: eof_action = pass [o3]; [o3] [fourfg] overlay = 272: 272: eof_action = pass: terpendek = 1 [o4]; [o4] [colage] overlay = 0: 0 " , "- an", "videoCrop37.mp4"};

Untuk video ke-2, ke-3 dan ke-4, setpts=PTS+T/TBfilter telah ditambahkan, di mana T adalah penundaan dalam detik untuk waktu mulai video itu. Jika durasi dari 4 video adalah 6,3,11,5 detik maka X = 6, Y = 9 (6 + 3) dan Z = 20 (6 + 3 + 11).

Gyan
sumber
perintah dijalankan tetapi hasilkan video buat dengan 00:00:00 detik. 4 video memiliki durasi 9 detik sehingga nilai X = 9, Y = 18, Z = 27.
p.jadhav
Coba edit cmd.
Gyan
perintah yang diedit, jalankan infinity
p.jadhav
Versi ffmpeg yang mana? Ada bug dengan terpendek di beberapa versi yang lebih lama
Gyan
ffmpeg versi n3.0.1
p.jadhav