如何在python中将opencv输出到gstreamer?

2024-04-27 04:30:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在opencv中处理摄像头流(这很好),但随后通过网络输出处理后的帧,这样我就可以看到它们,因为它是一个没有监视器的嵌入式系统。我花了好几天时间寻找,但无法找到如何在python中将框架推送到gstreamer。看起来我应该在gstreamer中创建一个appsrc->;udp管道(这没问题),但是我找不到任何地方可以使用python在opencv中将帧推送到appsrc。我在C++中看到了一些例子,但我不知道如何将它们翻译成Python。 似乎可以这样复制缓冲区: Push images into Gstreamer pipeline 或者这意味着一种更简单的方法,直接在opencv videowriter中打开appsrc: How to write opencv mat to gstreamer pipeline?

有没有人有一个非常简单的例子来说明如何用python将opencv输出到gstreamer?在


Tags: togt网络框架pipeline系统时间opencv
1条回答
网友
1楼 · 发布于 2024-04-27 04:30:06

我不是python专家。。但是this。。在

假设您有用于连接appsrc need数据信号的代码(如here):

source = gst.element_factory_make("appsrc", "source")
.. you need to set caps, then connect:
source.connect('need-data', self.needdata)

然后在needdata函数中,您需要获取opencv帧的数据指针,并从中创建GstBuffer并发出它。。在

假设你有两个变量自我数据是实际的opencv数据和自身尺寸是数据的大小:

^{pr2}$

嗯不知道那个长度变量是什么。。gstreamer1.0上的pygst似乎没有文档记录。。否则我就找不到医生了。。在

相关问题 更多 >