windows - 如何在 Windows 上使用 Gstreamer 获取来自 UVC 的编码流
问题描述
我想使用 Gstreamer 在 Windows 上获取来自罗技高清网络摄像头 (UVC) 的编码流。我知道在 Linux 上您可以通过 /dev/video1 等访问。但是,我不知道如何在 Windows 上执行此操作。
我可以通过 Windows 上的 ksvideosrc 获取原始缓冲区,但这并不能解决我的问题。我必须得到硬件编码流。如果您知道任何其他库而不是 Gstreamer,请指导我。
我希望这样的输出,但对于 Windows 版本。
gst-launch-1.0 v4l2src device=/dev/video0 !解码器!ximagesink
解决方案
我为遇到此问题的人找到了解决方案。
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)
错误。
推荐阅读
- python - 用于有效源代码控制的气流文件夹结构
- android - Android 上的 OnLongKeyPress 事件似乎不起作用
- azure - 通过内部项目实施资源(虚拟机/存储)的使用限制
- python - 基于单个键过滤所有字典键值?
- javascript - 是否可以在 selenium 中禁用某些 javascript 脚本?
- angular7 - 在 ServiceStack 5.8.1 上启用 API 响应压缩 (gzip)
- reporting-services - 如何在 SSMS 中实现空白参数?
- python - 如何附加键值字典python onvif相机
- javascript - 如何将缩小的 div 放置在父 div 的中心内
- jquery - 使侧边栏 div 可滚动