将一些OpenCV处理添加到gstreamer视频流

我试图让OpenCV在gstreamer管道中处理一个框架。

我有一个gstreamer管道生成流,将其发送到appsink以获取OpenCV代码:

v4l2src ! ffmpegcolorspace ! jpegenc ! appsink name=sink

另一个管道从appsrc(OpenCV向其发送数据)中获取它并将其输出到屏幕上:

appsrc name=src ! jpegdec ! xvimagesink

我在sink上打开每一个带有缓冲区请求的帧,并用OpenCV处理它,然后在src上使用push-buffer。 我正在用Python做所有的事情。

出于某种原因,这似乎不起作用(分段故障)。

但我并不是真的想解决这个问题。 无论如何,这是非常低效的。 我只是想知道是否有更好的方式让OpenCV在到达输出接收器之前处理帧?


你尝试过gst-opencv吗? 它提供了几个opencv基元作为gstreamer插件。

编辑 :好像它被合并到gst-plugins-bad,并且上面的链接已经过时。


我知道自你原来的问题已经过去了几年,但为了记录,OpenCv可以直接打开Gstreamer管道。 有关示例,请参阅在OpenCV中使用自定义相机(通过GStreamer)中的(自己)回答。

顺便说一句,OpenCv 3.0(主分支)实际上集成了gstreamer 1.0支持。

链接地址: http://www.djcxy.com/p/4331.html

上一篇: Add some OpenCV processing to a gstreamer video stream

下一篇: Spring aspectj jar not configured correctly