2013-07-02 18 views
5

ile birleştirme videolar ı komutunu kullanarak, hem şeffaflık, birlikte iki video birleştirmek için çalışıyorumFFMPEG - Şeffaflık

FFMPEG.exe -i person2.mov -vf "ölçek = iw/2 [in]: ih/2, fade = out: 300: 30: alfa = 1, ped = 2 * iw: ih [left]; movie = kişi2.mov, ölçek = iw/2: ih/2, fade = dışarı: 300: 30 : alpha = 1 [sağ]; [sol] [sağ] yer paylaşımı = main_w/3: 0, fade = dışarı: 300: 30: alfa = 1 [dışarı] "-b: v 768k Çıktı_people.mov

Bunu yaparak şu çıktıyı elde ederim:

http://i263.photobucket.com/albums/ii122/Fernando461/Untitled.png

Gördüğünüz gibi, iki videonun birbirinin üzerine yerleştirilmesi mümkün oldu. Ancak bu videoyu (Output_people.mov) başka bir videoyla birleştirmeye çalıştığımda, aynı saydamlığa sahip değil. Şeffaflığı sonuçta tutmak mümkün mü?

Düzenleme 1:

Ve "aynı transparecy yok" tarafından https://www.dropbox.com/s/gpid1pptfio31gd/ffmpeg-20130701-193206.log Ben arka plan böylece yerine şeffaf olmanın siyah anlamına geliyordu: Bu çıkış alıyorum olduğunu

Bir videoyu üst üste koyarsam, arkadaki, ön taraftaki siyah kısım tarafından kaplanır.

Düzenleme 2: Eklenen kod için -vcodec qtrle. Teşekkürler mark4o!

+0

Lütfen eksiksiz ffmpeg konsol çıktınızı gösterin. Bu videoyu (Output_people.mov) başka bir videoyla birleştirmeye çalıştığımda, aynı şeffaflığa sahip olmadığında "ne demek istiyorsunuz?" – LordNeckbeard

+0

"Bu videoyu (Output_people.mov) başka bir videoyla birleştirmeyi denediğimde, aynı şeffaflığa sahip değil", demek istediğim saydamlık yok, bunun yerine sadece siyah bir arka plan elde ediyorum. – user1829136

+0

Ayrıca, "Output_people.mov" ("-report" değerini atlayabilirsiniz) "birleştirdiğinizde" için komutunuzu ve tam konsol çıktısını göstermeniz gerekir. – LordNeckbeard

cevap

7

Çıktı için bir video codec'i belirtmediniz, bu nedenle H.264 (libx264 kodlayıcı) olan .mov dosyaları için varsayılan video codec bileşenini kullanıyor. Ancak H.264 bir alfa kanalı desteklemez. Eğer çıkış videonuzda şeffaflık istiyorsanız, girişiniz için kullanılan bir alfa kanalı destekleyen bir çıkış video codec'i, yani QuickTime Animation RLE (qtrle) belirtmeniz gerekecektir. Bunu yapmak için çıktı dosya adından önce -c:v qtrle seçeneğini ekleyin. Bir alfa kanalı destekleyen ve .mov dosyalarında saklanabilen başka bir kodek, png'dur.

ffmpeg ile desteklenen kodlayıcıların listesini ffmpeg -encoders ile kontrol edebilirsiniz. ffmpeg -h encoder=qtrle gibi bir komut, desteklenen piksel formatları dahil olmak üzere, bu kodlayıcıya özgü bilgileri listeleyecektir. argb, rgba, abgr, bgra, gbra ya da dizelerini içeren bir piksel biçiminde bir alfa kanalı vardır.