2017-08-24 58 views
0

我有一個帶透明背景的PNG序列。ffmpeg從png序列導出視頻不正確

當我使用Adobe Media編碼器導出到MP4文件時,結果是正確的。

但是當我用FFmpeg導出MP4文件時,這個結果很奇怪。

這是我用過的命令:

ffmpeg -i test/frame_%04d.png -pix_fmt yuv444p -c:v libx264 -y ffmpeg_test.mp4 

Media編碼器:http://test.rto.im/ffmpeg/media_encoder_test.mp4

FFMPEG:http://test.rto.im/ffmpeg/ffmpeg_test.mp4

所有圖片文件:test.rto.im/ffmpeg/test.zip

test.rto.im/ffmpeg/test/frame_0001.png

test.rto.im/ffmpeg/test/frame_0002.png

test.rto.im/ffmpeg/test/frame_0003.png ....

+0

Your'e使用'libx264'渲染視頻。您是否嘗試刪除'-pix_fmt yuv444p -c:v libx264'參數? –

+0

'ffmpeg -i test/frame_%04d.png -y ffmpeg_test.mp4'我用過這個命令,但結果是一樣的,它不正確。 – chrislearn

+0

請修復損壞的鏈接。 – JulienD

回答

1

你PNG幀unmatted。所以,你必須預先乘以它們才能得到相同的結果。

ffmpeg -i frames%d.png -vf premultiply=inplace=1 -pix_fmt yuv444p matted.mp4 

premultiply過濾器在2016年12月加入,所以你需要一個新的版本。

+0

我使用的是Ubuntu 17.04,它說'沒有這樣的過濾器:'premultiply'' 我在窗口中使用scoop並且安裝了ffmpeg,它說'Option'inplace'not found.''錯誤初始化過濾器'premultiply'with args'inplace = 1'' – chrislearn

+0

在windows中,我將ffmpeg升級到最新版本後,premultiply正在工作。 – chrislearn