我怎么能用gstreamer从usb视频捕捉+ dvb设备上获取视频?

时间:2009-08-16 10:51:30

标签: python gstreamer

我拥有一个avermedia掌声HX usb棒,我想从复合输入中捕获,但我不能,因为我无法选择输入。我正在使用带有+ python的gstreamer,我想我需要使用gsttuner select输入,但我没有使用gstreamer接口的经验。有人可以发一个简单的例子吗?

谢谢!

3 个答案:

答案 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的岩石上挣扎。你得到的琴弦将取决于你拥有的牌:

到目前为止我遇到过四张不同的卡片:

  • “复合”
  • “Composite1”
  • “复合”
  • “复合视频输入”

另外请注意,有些卡会有驱动程序谎言,因为芯片组有四个输入,驱动程序通常会报告四个,即使制造商只连接其中两个。