【问题标题】:gstreamer OpenCV stream MPEG from live still imagesgstreamer OpenCV 从实时静止图像流 MPEG
【发布时间】:2019-02-13 13:12:36
【问题描述】:

在 Raspberry pi3 中,我有一个 c 程序,它使用 V4l2 驱动程序从 USB CAM (FLIR Boson) 抓取 8 位 YUY 原始图像。

这些文件缓存在内存中,并使用 imshow( , ) openCV 函数显示,并以 9FPS 的帧速率刷新,具有良好的质量和延迟。 您是否认为 gstreamer 可以在 c 程序中使用这些图像并将它们作为 MPEG 流传输?不确定 multifilesrc 是否可以使用新图像实时刷新。

直接从 v4l2 设备捕获的其他方法(如 gst-launch-1.0 或 ffmpeg)有效,但质量非常差且延迟不可接受。

非常感谢 Rgds

【问题讨论】:

    标签: opencv camera usb gstreamer


    【解决方案1】:

    是的,当你已经有了获取原始图像数据的c代码时,你可以use appsrc或者写your own GStreamer source element

    v4l2src 是否也可以针对您的用例进行改进?您是否在 v4lsrc 之后在管道中添加了 queue 元素?

    为什么要使用 multifilesrc?考虑在 udp 或 tcp 上使用 RTP 流。

    【讨论】:

    • 非常感谢@micha137 的回答。 appsrc 绝对是使用 gstreamer 元素将 Mat 原始对象流式传输到 udp 的最佳解决方案。插入!队列!大多数情况下,x264enc 编码器的 tune=zerolatancy 几乎解决了所有质量和延迟问题。谢谢,rgds
    猜你喜欢
    • 2020-03-05
    • 2016-11-01
    • 2016-04-20
    • 2016-07-29
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    相关资源
    最近更新 更多