【问题标题】:How to get encoded stream coming from UVC with Gstreamer on Windows如何在 Windows 上使用 Gstreamer 获取来自 UVC 的编码流
【发布时间】:2019-07-27 20:16:37
【问题描述】:

我想使用 Gstreamer 在 Windows 上获取来自罗技高清网络摄像头 (UVC) 的编码流。我知道在 Linux 上您可以通过 /dev/video1 等访问。 但是,我不知道如何在 Windows 上执行此操作。

我可以在 Windows 上通过 ksvideosrc 获取原始缓冲区,但这并不能解决我的问题。我必须得到硬件编码流。如果您知道除 Gstreamer 之外的任何其他库,请指导我。

我希望这样的输出,但适用于 Windows 版本。
gst-launch-1.0 v4l2src device=/dev/video0 !解码器! ximagesink

【问题讨论】:

    标签: windows camera video-streaming gstreamer uvc


    【解决方案1】:

    我为遇到此问题的人找到了解决方案。

    gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,width=1280,height=720 ! decodebin ! ximagesink
    


    这将附加相机的编码流,并使用 decodebin 解码并将输出提供给 Window。如果你不写 image/jpeg 等,它会自动从相机附加到原始缓冲区。

    在 C++ 代码中, 就像

    GstElement* v4l2src = gst_element_factory_make("v4l2src","Source");
    GstElement* srcFilter = gst_element_factory_make("capsfilter","Filter");
    

    然后您将它们添加到管道中并链接它们。这样就可以了。
    注意:如果相机不支持该分辨率和媒体类型,则会给出

    streaming stopped, reason not-negotiated (-4)
    

    错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 2018-12-15
      • 2012-12-12
      • 2018-11-02
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      相关资源
      最近更新 更多