GStreamer 中的 Alpha 插件无法正常工作

GStreamer 中的 Alpha 插件无法正常工作

我正在尝试合成两个视频,并使用 alpha 插件使白色透明。为了测试 alpha 插件,我正在使用 gst-launch 创建管道。

我做的第一个测试是:

gst-launch videotestsrc pattern=smpte75 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink videotestsrc pattern=snow ! mixer.

效果很好!然后我用这些台词制作了两个视频:

gst-launch videotestsrc pattern=snow ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=snow.ogv
gst-launch videotestsrc pattern=smpte75 ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=bars75.ogv

并将 videotestsrc 更改为 filesrc 并且它继续工作:

gst-launch filesrc location=bars75.ogv ! decodebin2 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink filesrc location=snow.ogv ! decodebin2 ! alpha ! mixer.

但是,当我使用我想要合成的视频时,我无法使白色变得透明:

gst-launch filesrc location=video.ogv ! decodebin2 ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10 ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink filesrc location=snow.ogv ! decodebin2 ! alpha ! mixer.

知道发生了什么吗?我正在使用 GStreamer 0.10.28。

您可以从这里下载测试视频:

http://polimedia.upv.es/pub/gst/gst.zip

答案1

我测试了你的方法,它比你想象的效果更好......只需反过来交换视频即可;-)

gst-launch filesrc location=snow.ogv ! decodebin2  ! alpha method=custom target-r=255 target-g=255 target-b=255 angle=10  ! videomixer name=mixer ! ffmpegcolorspace ! autovideosink filesrc location=bars75.ogv ! decodebin2 ! alpha ! mixer.

很有趣的想法。恭喜!

相关内容