【问题标题】:How to alter the behaviour of gstreamer autoaudiosink, autovideosink etc,如何改变 gstreamer autoaudiosink、autovideosink 等的行为,
【发布时间】:2020-07-14 14:49:22
【问题描述】:

gstreamer 有 autoaudiosink、autovideosink、autoaudiosrc、autovideosrc。

当有多个匹配的源或接收器时,这是如何工作的

例如:windows 上的videosink 可以是opengl 或directx,

gstreamer 如何决定使用哪一个?

有没有可能改变这个?

【问题讨论】:

    标签: gstreamer gstreamer-1.0


    【解决方案1】:

    gstreamer 如何决定使用哪一个?

    GStreamer 有一个非常通用的自动插入机制,因此它可以做正确的事情。 documentation 非常简洁,但让我们看一下 autovideosink 的情况。

    在第一步中,自动插入将尝试过滤掉系统上的相关元素:例如,如果 decodebin 元素的输入是 H264 流,它将仅找到宣传 video/xh264 上限的元素他们的水槽垫。对于autovideosink,它将过滤所有添加了显式“Sink”和“Video”标签的元素以查找相关元素。

    在第二步中,它仍然需要从我们刚刚收集的一组元素中选择最佳匹配。为此,GStreamer 选择具有最高“等级”的插件。插件有一个默认等级,但您可以通过编程方式对其进行修改(如何做到这一点已经answered elsewhere)。

    注意:某些元素(如 decodebin)还提供额外的 API 以实现更细粒度的控制。

    有没有可能改变这个?

    所以简短的答案就在这里:通过修改插件排名。

    还需要注意的是,应用程序开发人员通常会选择一个给定的接收器(例如 glimagesink)并通过配置该元素的属性来针对这种情况进行优化。

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-06
      • 2010-10-12
      • 1970-01-01
      相关资源
      最近更新 更多