将多个图像与gstreamer结合使用

时间:2013-10-25 09:42:23

标签: gstreamer

我想在C中使用gstreamer进行某种图像处理,在那里我读取了一对图像然后将它们整合在一个大图像中(我的程序中的图像是用户以后可以选择的选项)而且我不喜欢我不想使用任何外部库来做到这一点 任何sugesstions将是伟大的

2 个答案:

答案 0 :(得分:0)

使用multifilesrc在一个文件中连接多个文件。 http://gstreamer.freedesktop.org/wiki/MultiFileSrc

答案 1 :(得分:0)

所以基本上你想要合成图像,即给定图像A B C D产生这样的图像,例如:

________________
|      |       |
|   A  |   B   |
|______|_______|
|      |       |
|   C  |   D   |
________________

如果是这样,视频混音器将是一个不错的选择,如果确实如此,我会编辑我的答案。

度过美好的一天!

编辑:由于这是您所要求的,以下是如何使用视频混合器合成两个不同大小的图像的示例:

gst-launch-1.0 uridecodebin uri=file:///home/meh/Pictures/questions.jpg ! videoscale ! video/x-raw, width=320, height=240 ! imagefreeze ! videomixer name=m sink_1::xpos=320 ! autovideosink uridecodebin uri=file:///home/meh/Pictures/testsrc.png ! videoscale ! video/x-raw, width=320, height=240 ! imagefreeze ! m.

说明:

我们为图像创建了两个解码器,使用视频尺度将它们调整为任意大小(此处为320 x 240),冻结它们并将它们发送到视频混合器。 videomixer将sink_1的x位置设置为320,这会偏移第一个图像,以便第二个图像也出现。

如果您计划对此进行动态支持,http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-editing-services/html/ch01.html,GES对您来说将是一个不错的选择,请随时来到freenode上的#pitivi,如果你想ping我,我的昵称是Mathieu_Du

免责声明:使用gst 1.3测试,应该与1.X系列一起使用,不太确定0.10。