如何从 USB 视频捕获中抓取视频 + 带 gstreamer 的 DVB 设备?

发布于 2024-08-01 19:16:46 字数 174 浏览 3 评论 0原文

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

谢谢!

I own a avermedia volar HX usb stick, I want to capture fromthe composite input , but I can't because I'm unable to select the input. I'm using gstreamer with + python, I think I need to use gsttuner select input but I have no experience using gstreamer's interfaces. Could someone post a simple example?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

水溶 2024-08-08 19:16:46

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

到目前为止,我遇到过四种不同的卡:

  • “Composite”
  • “Composite1”
  • “composite”
  • “Composite Video Input”

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

The code shown above seems basically correct, but it will flounder on the rocks of v4l2. The strings you get will depend on what card you have:

On four different cards so far I've encountered:

  • "Composite"
  • "Composite1"
  • "composite"
  • "Composite Video Input"

Also be aware that some cards will have the driver lie, since the chip set has four inputs, the driver will often report four, even if the manufacturer only connects to two of them.

信仰 2024-08-08 19:16:46
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")
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")
念三年u 2024-08-08 19:16:46

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

To anyone stumbling on this, some internal gstreamer changes since this was originally posted may require gst.STATE_READY now instead of STATE_PAUSED. Tripped me up as it seems half the capture devices I encounter default to PAL and I need to use the GST_TUNER interface to change it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文