图像数据作为 gstreamer 中的源 [关闭]
Posted
技术标签:
【中文标题】图像数据作为 gstreamer 中的源 [关闭]【英文标题】:image data as source in gstreamer [closed] 【发布时间】:2014-03-25 03:51:26 【问题描述】:我想制作一个将图像数据作为源而不是文件位置的 GStreamer 应用程序。我的目的是显示通过 tcp 接收到的图像。当 tcp 获得图像数据(字节数组)时,它应该直接将数据传递给 gstreamer 插件,而不是将其保存在本地。
【问题讨论】:
不太清楚你的问题是什么。你试过什么吗?你遇到了什么问题? 我的目的是将图像字节数组直接提供给 gstreamer 源而不是图像位置。对不起,不清楚的问题。 请编辑您的问题:添加更多详细信息、一些示例或用例。我会投票支持重新开放,并很乐意回答。 顺便说一句,我认为appsrc
元素是您正在寻找的。span>
【参考方案1】:
multifilesrc 应该可以完成这项工作。
说明
从按顺序命名的文件中读取缓冲区。如果与一个一起使用 图像解码器,需要使用“caps”属性或 capsfilter 来 强制包含帧速率的上限。否则图像解码器发送 第一张照片后的EOS。我们还需要一个 videorate 元素来设置 根据第一个缓冲区之后的所有缓冲区的时间戳 帧率。
文件名是通过使用索引替换“%d”来创建的 printf().
示例发射线
gst-launch-1.0 multifilesrc location="img.%04d.png" index=0 caps="image/png,framerate=\(fraction\)12/1" ! \ pngdec ! videoconvert ! videorate ! theoraenc ! oggmux ! \ filesink location="images.ogg"
此管道通过连接多个视频文件“images.ogg” 名为 img.0000.png、img.0001.png 等的 PNG 文件。
来源:http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-multifilesrc.html
因此,如果您通过命令行使用 gstreamer,这应该可以解决问题。 您只需要指定文件并在收到文件时对其进行“循环”。
否则,编写使用 multifilesrc 作为源的 gstreamer 管道并不是那么复杂。
【讨论】:
谢谢你的回答...我可以给一个字节数组而不是图像位置以上是关于图像数据作为 gstreamer 中的源 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 OpenCV VideoWriter 保存灰度图像时出现 Gstreamer 错误
使用Gstreamer 作为数据源输出视频数据 VI 集成gstreamer