在macOS上使用USB网络摄像头进行GStreamer视频捕获

5

我正在开发 gstreamer 应用程序,运行在 macOS 上。我成功获取了 MacBook 内置摄像头的视频捕获。

$ gst-launch-1.0 autovideosrc ! osxvideosink

然而,我不知道如何从连接的USB相机获取视频截图。我查看了autovideosrc元素和wrappercamerabinsrc元素的属性,但找不到适当的设备来指定,而我可以将v4l2srcdevice属性指定为设备。
在macOS上如何使用gstreamer从USB相机获取视频流?
任何帮助都将不胜感激!

2
我对gstreamer一无所知,但我猜它可能与ffmpeg有相似之处。当你在Mac上使用ffmpeg时,需要知道Mac使用的是AVFoundation而不是v4l2。因此,我的猜测是你需要找到以av...或者avf...开头的东西。我知道这并没有什么帮助,但也许足以让你开始了。 - Mark Setchell
@MarkSetchell 谢谢!我做到了! - toshiya
优秀 - 请将其作为答案添加,以便其他人可以找到它。此外,您也可以自行标记为正确并获得一些积分。祝您的项目顺利! - Mark Setchell
@toshiya,你原本打算如何处理视频流呢?你还记得吗?你是只想要显示网络摄像头,还是计划在其他应用程序中使用视频呢? - Ben Butterworth
2个回答

2

最终我找到如何做到它。

$ gst-launch-1.0 avfvideosrc device-index=1 ! osxvideosink

感谢 @MarkSetchell

我不太理解,但想知道你是否有相关经验:gst-launch-1.0 avfvideosrc device-index=1 ! osxvideosink视频捕获设备索引无效。 - phdfong - Kenneth Fong

0

osxvideosink 对我来说不起作用。我使用了autovideosink代替。

gst-launch-1.0 avfvideosrc device-index=1 ! autovideosink

同样的,我发现device-index=0无法工作。我的外部网络摄像头是device-index=1,而内置的笔记本电脑摄像头则是device-index=2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接