1

我拥有一个 avermedia volar HX USB 记忆棒,我想从复合输入中捕获,但我不能,因为我无法选择输入。我将 gstreamer 与 + python 一起使用,我想我需要使用 gsttuner 选择输入,但我没有使用 gstreamer 接口的经验。有人可以发布一个简单的例子吗?

谢谢!

4

3 回答 3

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")
于 2010-02-26T14:43:45.217 回答
1

对于遇到此问题的任何人,自最初发布以来的一些内部 gstreamer 更改可能现在需要 gst.STATE_READY 而不是 STATE_PAUSED。把我绊倒了,因为我遇到的捕获设备似乎有一半默认为 PAL,我需要使用 GST_TUNER 接口来更改它。

于 2010-12-15T00:02:34.233 回答
0

上面显示的代码看起来基本正确,但它会在 v4l2 的岩石上挣扎。您获得的字符串将取决于您拥有的卡:

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

  • “合成的”
  • “复合 1”
  • “合成的”
  • “复合视频输入”

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

于 2010-04-09T20:29:53.633 回答