c – 列出gstreamer 1.0中ksvideosrc可用于视频捕获的设备名称
发布时间:2020-12-16 07:12:25 所属栏目:百科 来源:网络整理
导读:我正在尝试使用c中的gstreamer 1.0查询 Windows上可用的视频捕获设备(网络摄像头)列表. 我使用ksvideosrc作为源,我能够捕获视频输入但我无法查询可用设备列表(及其上限). 在gstreamer 0.10上,通过GstPropertyProbe可以在gstreamer 1.0中去除它.文档建议使用G
我正在尝试使用c中的gstreamer 1.0查询
Windows上可用的视频捕获设备(网络摄像头)列表.
我使用ksvideosrc作为源,我能够捕获视频输入但我无法查询可用设备列表(及其上限). 在gstreamer 0.10上,通过GstPropertyProbe可以在gstreamer 1.0中去除它.文档建议使用GstDeviceMonitor.但我也没有运气. 有没有人成功获取设备名称列表?或者,您能否建议另一种检索可用设备名称及其上限的方法? 解决方法
虽然我还没弄清楚如何枚举设备名称,但我想出了一个解决方法,至少可以获得可用的ksvideosrc设备索引.下面是
Python中的代码,但是由于GObject内省绑定,你应该可以相当容易地将它移植到C.
from gi.repository import Gst def get_ksvideosrc_device_indexes(): device_index = 0 video_src = Gst.ElementFactory.make('ksvideosrc') state_change_code = None while True: video_src.set_state(Gst.State.NULL) video_src.set_property('device-index',device_index) state_change_code = video_src.set_state(Gst.State.READY) if state_change_code != Gst.StateChangeReturn.SUCCESS: video_src.set_state(Gst.State.NULL) break device_index += 1 return range(device_index) if __name__ == '__main__': Gst.init() print get_ksvideosrc_device_indexes() 请注意,对于ksvideosrc,Windows上的GStreamer版本1.4.5.0的视频源device-name属性为None. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读