FFmpeg aynı anda hem birlikte hem de metin yazdırabilir mi?


0

FFmpeg'in concat filtresini ve drawtext filtresini ayrı komutlarda başarıyla kullanabilirim.

Ancak bu iki kodlama çalışması gerektirir.

Bu filtrelerin her ikisinin de zincir halinde çalışmasını sağlamak mümkün müdür, böylece yalnızca bir kodlama gerçekleşir? Nasıl?

Birleştirmeye çalıştığım üç video klipim var ve elde edilen video üzerinde ortak bir metnin görünmesini istiyorum.


Farklı kodlayıcı / kodlama ayarlarına sahip videolar var mı? Değilse, filtre yerine concat demuxer veya protokolünü kullanabilirsiniz.
slhck

Evet, ne yazık ki videoların farklı kodlama ayarları var ve bunu kontrol edemiyorum. Onlara katılmak için, concat filtresini kullanmalıyım. Ancak bir açıklamada concat filtresini drawtext filtresiyle nasıl birleştireceğimi çözemiyorum.
fionasdad

Lütfen girişlerinizle ilgili bazı bilgileri (konsol çıktısının tamamı) ekleyin: ffmpeg -i input1 -i input2 -i input3
llogan

Windows'dayım. Görmek istediğiniz tam konsol çıktısını nasıl üretirim?
fionasdad

:) Teşekkürler, ama FFmpeg'in çıktısını bir metin dosyasına yönlendirmeyi biliyorum. Demek istediğim, FFmpeg'i üç girdi dosyamda nasıl çalıştıracağımı bilmemek, böylece istediğiniz raporu üretiyordum. Denedim: ffmpeg -i girişi1 -i girişi2 -i girişi3. Bunu yaparken girişleri gerçek üç videomla değiştirdim. Tek çıktı bir çıktı sağlamadığım bir hata mesajıydı. Peki bu tam konsol çıkışı nedir? Teşekkürler.
fionasdad

Yanıtlar:


3

Bunu dene:

ffmpeg -i inputfile1 -i inputfile2 -y \
-filter_complex '[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a];\
[v]drawtext=fontsize=72:fontcolor=White:fontfile=/usr/share/fonts/truetype/DejaVuSans.ttf:text=Text Line To Render:x=(w)/2:y=(h)/2[o]'\
-map '[o]' -map '[a]' ...other encoding parameters... outputfile

Bunu not et [v] ve [a] sadece etiketler - çok iyi kullanabilirsiniz [p] ve [q] ve bu da iyi olurdu. Yalnızca akış 0 ilk etikete gider ve akış 1 ila ikinci etikete gider. Bu yüzden akış 0 video olduğunu kabul ediyorum.

Akıntıların içeri girdiğinden emin olmalısınız. inputfile1 ve inputfile2 Aynı siparişi ver. Sonra söyleyerek video akışının çıktısını drawtext filtresine giriş olarak geçiririz. [v]drawtext=....

Bunun çıktısı şimdi etiketli [o] sonunda drawtext parametreleri. Diyerek -map [o], çıktıyı kullanıyoruz drawtext Diğer kodlama parametrelerinize geçmek için.

Kullandığım font yolu OpenSUSE'den. Seninki farklı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.