图像数据作为 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 中的源 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

了解GStreamer

使用 OpenCV VideoWriter 保存灰度图像时出现 Gstreamer 错误

使用Gstreamer 作为数据源输出视频数据 VI 集成gstreamer

Gstreamer应用开发实战指南

从 python 中的 opencv 写入 Gstreamer 管道

通过 gstreamer udpsink 流式传输 h.264 时如何解决图像问题