我想使用视频混合器将来自互联网的多个图像文件与Gstreamer 0.10相结合。 我在下面写了命令行:
gst-launch videomixer name=mixer ! xvimagesink \
uridecodebin uri=http://www.geocyclab.fr/wp-content/uploads/2011/10/linux_crystalized_tux.jpg ! \
videoscale ! video/x-raw-yuv,width=200,height=200 ! \
ffmpegcolorspace ! \
imagefreeze ! \
videobox border-alpha=0 top=0 left=0 ! mixer. \
uridecodebin uri=http://www.thetechherald.com/media/images/201148/Security-vendors-warn-against-leaked-Windows-7-downloads-windowslogo_1.jpg ! \
videoscale ! video/x-raw-yuv,width=200,height=200 ! \
ffmpegcolorspace ! \
imagefreeze ! \
videobox border-alpha=0 top=-200 left=0 ! mixer. \
uridecodebin uri=http://www.colins-it.co.uk/images/Apple-App-Store_21.jpg ! \
videoscale ! video/x-raw-yuv,width=200,height=200 ! \
ffmpegcolorspace ! \
imagefreeze ! \
videobox border-alpha=0 top=0 left=-200 ! mixer.
此命令行有2个问题:
当我想要合并2个图像文件时,此命令行效果很好,但是当我添加第三个图像文件时,会出现黑屏而不是第一张图片。如果我添加更多图片,这些图片将按照我的预期显示,但在某些时候(我不记得确切时间,可能是第7或第8张图片),除了一张之外的所有图片都会隐藏在黑屏后面。
我只能在删除'video / x-raw-yuv'命令时使用PNG文件,但我想调整图片大小...我尝试了souphttpsrc + pngdec而不是uridecodebin,但我没有'取得好成绩。
任何人都可以帮助我吗?谢谢。
编辑: 如果我以相反的顺序添加视频框(从右下角到左上角),我的大多数图片上都没有黑屏,但我在第一张图片上仍然有一个(顶部= 0和左边= 0)。
答案 0 :(得分:1)
好试试这个并告诉我它是否有效:
gst-launch videomixer2 sink_0::ypos=200 sink_2::xpos=200 name=mixer ! ffmpegcolorspace ! xvimagesink uridecodebin uri=http://www.geocyclab.fr/wp-content/uploads/2011/10/linux_crystalized_tux.jpg ! videoscale ! ffmpegcolorspace ! imagefreeze ! "video/x-raw-yuv, format=(fourcc)AYUV, width=200, height=200" ! mixer. uridecodebin uri=http://www.thetechherald.com/media/images/201148/Security-vendors-warn-against-leaked-Windows-7-downloads-windowslogo_1.jpg ! videoscale ! ffmpegcolorspace ! imagefreeze ! "video/x-raw-yuv, format=(fourcc)AYUV, width=200, height=200" ! mixer. uridecodebin uri=http://www.colins-it.co.uk/images/Apple-App-Store_21.jpg ! videoscale ! ffmpegcolorspace ! imagefreeze ! "video/x-raw-yuv, format=(fourcc)AYUV, width=200, height=200" ! mixer.
使用此管道,如果需要,您应该用png替换jpg文件。但是对于现在的位置,你应该像在这个管道中那样改变videomixer2。