在 FFMPEG 中使用透明色旋转 Jpeg

在 FFMPEG 中使用透明色旋转 Jpeg

我正在尝试旋转图像并将其渲染为 MP4。但输出视频渲染为旋转图像,周围有绿色背景。我的要求是将绿色背景改为透明。

这是命令

ffmpeg -i Avideo.mp4  -i a.png -filter_complex "[1:v] rotate=-    
30*PI/180:c=black@:ow=rotw(iw):oh=roth(ih) [rotate];[0:v][rotate] overlay=40:10" -codec:a copy sample.mp4

输出为:

在此处输入图片描述

答案1

我将 c=black@ 改为 c=0x00000000 并且起作用了。

ffmpeg -i Avideo.mp4  -i a.png -filter_complex "[1:v] rotate=-30*PI/180:c=0x00000000:ow=rotw(iw):oh=roth(ih) [rotate];[0:v][rotate] overlay=40:10" -codec:a copy sample.mp4

[正确的语法是 black@0 – Gyan]

ffmpeg -i Avideo.mp4  -i a.png -filter_complex "[1:v] rotate=-30*PI/180:c=black@0:ow=rotw(iw):oh=roth(ih) [rotate];[0:v][rotate] overlay=40:10" -codec:a copy sample.mp4

两种代码都有效。我在文档页面上找不到正确的语法。如果文档页面提供示例而不是说这样做会很有帮助。

相关内容