ffmpeg drawtext filter - metinle şeffaf arka plan oluştur


11

Şu anda drawtextfiltre ile çalışıyorum . Şimdiye kadar yalnızca drawtextdoğru yazı tipini kullanmak ve metni yatay olarak ortalamak için seçenek yapılandırmalarında başarılı oldum . drawtextAşağıda gösterildiği gibi bir videoda metin görüntülemeyi nasıl sağlayabilirim ?

ffmpeg

ffmpeg -i "/media/test/test.mp4" -vf drawtext="fontfile=/usr/share/fonts/truetype/open-sans/OpenSans-Regular.ttf:text='Title of this Video':x=(w-tw)/2:y=(h-th)/2"  /media/test_edited.mp4"

Yanıtlar:


21

drawboxKutu ve drawtextmetin için kullanın .

Kırmızı böcek

ffmpeg -i input.mp4 -vf \
"format=yuv444p, \
 drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=fill, \
 drawtext=fontfile=OpenSans-Regular.ttf:text='Title of this Video':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th, \
 format=yuv420p" \
-c:v libx264 -c:a copy -movflags +faststart output.mp4
  • drawtextbir boxseçenek var, ancak anlayabildiğim kadarıyla, rastgele bir genişlik olamaz ve metin boyutuna göreli, bu yüzden drawboxbunun yerine kullanılır.

  • formatFiltre rengini iyileştirmek için kullanılan drawboxalanı; aksi takdirde, giriş ve çıkış biçimlerinize bağlı olarak, alan doymamış veya tek renkli görünebilir. formatFiltre sonra çıkış dosyasının piksel formatı tüm oyuncular uyumlu olmasını sağlamak için yeniden kullanılır.

  • Bu örnekte ses akışı kopyalanıyor , çünkü gereksiz yere yeniden kodlamak istemeyebilirsiniz.

  • Eski ffmpegkullanıcılar t=maxyerine kullanmak zorunda kalacaklar t=fill.


Mükemmel, bu mevcut sorunun kapsamı dışında ve yeni bir soru oluşturmam gerekebilir. snapchatZamanlayıcının nasıl ekleneceğine dair öneriler . Örneğin, bazı testler yaptım ve ffmpeg bir zamanlayıcı içeren bir testsrc video kaynağı içerir: ffplay -f lavfi -i testsrc. İlk zamanlayıcının 0 rakamı 29x52 piksel boyutundadır ve üst köşedeki konumu yatay olarak 256 piksel ve 94 piksel dikeydir. Bir basamaklı alanı bu şekilde kırpabilirimffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4
Code_Ed_Student

Soruya zamanlayıcılı bir resim ekledim. Zamanlayıcı, videonun süresine göre bir geri sayımdır.
Code_Ed_Student

Evet, bunun için yeni bir soru oluşturacağım. Haklısın. 30. 29, 28...vb.
Code_Ed_Student


1
Harika ve haklısın kutuyu etkiledi
Code_Ed_Student

1

ffmpeg -i C: \ Kullanıcılar \ Geliştirici_2 \ Videolar \ 2.mkv -vf drawtext = "fontfile = C \: / Regular.ttf: text = 'apcis.tmou.org': fontcolor = beyaz: fontsize = 24: kutu = 1: boxcolor=black@0.4: x = w-tw: y = h-th "C: \ inetpub \ wwwroot \ videos \ 1.mp4


Bu benim için çalıştı ama boxcolor-white@0.9 kullanıyorum
sabre tabatabaee yazdi
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.