【问题标题】:Is there any complete example on how to use the GStreamer GstBaseTransform in C?有没有关于如何在 C 中使用 GStreamer GstBaseTransform 的完整示例?
【发布时间】:2019-11-08 12:30:55
【问题描述】:

GstBaseTransform 是用于 GStreamer 中简单图像处理和分析的类。作为 GStreamer 的新手,我正在寻找一些或多或少完整的插件,可以用来理解如何实现我的插件。不幸的是,Plugin Writers Guide 没有涵盖它,而且通常我找不到任何使用它的足够简单示例的完整源代码。我搜索的大多数网站都只是重复文档,Freescale in GitHubGLES 项目的一些专门代码是我迄今为止能找到的最接近的东西。然而,它是一个专门的生产代码,在尝试理解其余内容之前需要删除很多内容。

是否可以获得完整的插件示例/源代码,该插件使用 GstBaseTransform 进行非常简单的操作,例如在图像上画线?

GStreamer 管道可以从命令行轻松启动,例如“gst-launch-1.0 videotestsrc ! the_plugin ! videoconvert ! autovideosink”。

【问题讨论】:

  • 这看起来很像资源请求。也许应该提供一个框架,例如以其他方式设置流,然后将插件部分留给应答者。
  • 我提供了两个示例,我很乐意在开始时知道。

标签: c gstreamer gstreamer-1.0


【解决方案1】:

我建议结合使用文档和元素构建器。元素构建器为您提供了基于多个基类(包括 basetransform)的插件模板。该工具位于gst-plugins-bad 存储库中的tools/gst-element-maker

然后是基类的文档 - 例如https://gstreamer.freedesktop.org/documentation/base/gstbasetransform.html?gi-language=c

通常,文档通常会解释该类的预期工作方式,并且确实有一些关于最重要/重要功能的文档。

对于 basetransform,您最重要的功能将是 transformtransform_ip,这取决于您的插件是否可以在 in-place 模式下工作。在那里您可以进行处理 - 例如将一行写入图像缓冲区。

【讨论】:

猜你喜欢
  • 2020-10-10
  • 2014-01-14
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2021-04-14
  • 2012-06-01
  • 2011-05-28
  • 2012-07-09
相关资源
最近更新 更多