2009-08-16 54 views
1

我拥有avermedia掌舵HX usb棒,我想从复合输入捕捉,但我不能,因为我无法选择输入。我在+ python中使用gstreamer,我想我需要使用gsttuner select input,但是我没有使用gstreamer接口的经验。有人能发表一个简单的例子吗?我怎样才能从gbre视频捕捉+ dvb设备抓取视频?

谢谢!

回答

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") 
0

上面显示的代码看起来基本正确,但它会在v4l2的岩石上fl fl。你得到的字符串会取决于你有什么卡:

在四个不同的卡,到目前为止我遇到:

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

另外要注意,有些卡将有司机的谎言,因为芯片组有四个输入,DRIV呃通常会报告四个,即使制造商只连接到其中两个。

1

对于任何人在这方面磕磕绊绊,一些内部gstreamer变化,因为这是最初发布可能需要gst.STATE_READY而不是STATE_PAUSED。绊倒了我,因为它似乎是我遇到默认PAL的一半捕获设备,我需要使用GST_TUNER界面来更改它。