FFMPEG:在視頻上添加固定大小的圖像,而不管視頻的寬度和高度(分辨率)

這是我的代碼,它將圖像添加到通過PHP運行的視頻中:

exec('ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[0:v][1:v] overlay=10:10"  -pix_fmt yuv420p -c:a copy output.mp4');

它運作良好,但問題在於,圖像縮小或縮小,取決於視頻分辨率。例如,在以下圖片中,徽標寬度是,50px但視頻分辨率不同:

 

和這個

 

如何防止圖像縮小/放大?

 

ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[1:v][0:v]scale2ref=(W/H)*ih/8:ih/8[wm][base];[base][wm]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4

ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[1:v][0:v]scale2ref=(W/H)*ih/8:ih/8[wm][base];[wm]setsar=1[wmsar];
[base][wmsar]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4

這工作得很好,但它不會保持徽標的長寬比。我在兩個不同分辨率的視頻上試過這個代碼,這就是結果

 

和這個

 

有沒有可能改進這個解決方案?

寫回答關注邀請回答

提問於 2018-04-28

1 個回答

 

用戶回答回答於 2018-04-28

ffmpeg -i input.mp4 -i logo.png -filter_complex 
"[1:v][0:v]scale2ref=(W/H)*ih/8/sar:ih/8[wm][base];[base][wm]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4

這將調整標誌的高度到視頻高度的1/8。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章