我正在尝试撰写两个视频,并且正在使用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。
您可以从此处下载测试视频: