我拥有一个avermedia掌声HX usb棒,我想从复合输入中捕获,但我不能,因为我无法选择输入。我正在使用带有+ python的gstreamer,我想我需要使用gsttuner select输入,但我没有使用gstreamer接口的经验。有人可以发一个简单的例子吗?
谢谢!
答案 0 :(得分:1)
src = gst.element_factory_make("v4l2src", "src")
src.set_state(gst.STATE_PAUSED)
try:
# channel names will be different for each device
channels = src.list_channels()
composite = [x for x in channels if x.label == "Composite1"]
if composite:
self.src.set_channel(composite[0])
except AttributeError, e:
log.warn("Could not tune video source\n")
答案 1 :(得分:1)
对于任何绊脚石的人来说,由于最初发布的内部gstreamer更改可能需要gst.STATE_READY而不是STATE_PAUSED。把我绊倒,因为看起来我遇到的捕捉设备的一半默认为PAL,我需要使用GST_TUNER接口来改变它。
答案 2 :(得分:0)
上面显示的代码看起来基本上是正确的,但它会在v4l2的岩石上挣扎。你得到的琴弦将取决于你拥有的牌:
到目前为止我遇到过四张不同的卡片:
另外请注意,有些卡会有驱动程序谎言,因为芯片组有四个输入,驱动程序通常会报告四个,即使制造商只连接其中两个。