2013-07-02 70 views
5

合併影片我試圖合併兩個視頻一起,都具有透明性,使用命令FFMPEG - 與透明

ffmpeg.exe -i person2.mov室顫「[中]規模= IW/2: ih/2,fade = out:300:30:alpha = 1,pad = 2 * iw:ih [left]; movie = person2.mov,scale = iw/2:ih/2,fade = out:300:30 :alpha = 1 [right]; [left] [right] overlay = main_w/3:0,fade = out:300:30:alpha = 1 [out]「-b:v 768k Output_people.mov

通過這樣做,我得到以下輸出:

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

正如你所看到的,有可能讓兩個視頻相互疊加。但是,當我嘗試將此視頻(Output_people.mov)與另一個視頻合併時,它不具有相同的透明度。是否有可能保持結果的透明度?

編輯1:

這是輸出我得到:https://www.dropbox.com/s/gpid1pptfio31gd/ffmpeg-20130701-193206.log

並以「不具有相同的transparecy」我的意思是,背景是黑色的而不是透明的,所以如果我把一個視頻放在另一個上面,那麼後面的視頻會被前面一個黑色部分覆蓋。

編輯2: 將-vcodec qtrle添加到工作的代碼中。謝謝mark4o!

+0

請顯示您的完整ffmpeg控制檯輸出。你是什​​麼意思,「當我試圖合併這個視頻(Output_people.mov)與另一個視頻,它不具有相同的透明度」? – LordNeckbeard

+0

通過「當我試圖合併這個視頻(Output_people.mov)與另一個視頻,它不具有相同的透明度」,我的意思是沒有透明度,而只是得到一個黑色的背景。 – user1829136

+0

您還應該在「合併」Output_people.mov(可以省略'-report')時顯示您的命令和完整的控制檯輸出。 – LordNeckbeard

回答

7

您沒有爲輸出指定視頻編解碼器,因此它使用的默認視頻編解碼器爲.mov文件,即H.264(libx264編碼器)。但H.264不支持Alpha通道。如果您希望輸出視頻具有透明度,則需要指定支持Alpha通道的輸出視頻編解碼器,例如用於輸入的視頻編解碼器,即QuickTime Animation RLE(qtrle)。爲此,請在輸出文件名之前添加選項-c:v qtrle。另一個支持alpha通道並可存儲在.mov文件中的編解碼器是png

您可以通過ffmpeg -encoders查看ffmpeg支持的編碼器列表。像ffmpeg -h encoder=qtrle這樣的命令將列出特定於該編碼器的信息,包括支持的像素格式。包含字符串argb,rgba,abgr,bgra,gbrayuva的像素格式具有alpha通道。