6

我有一个用 gst-python 为 GStreamer 0.10 编写的应用程序,我正在尝试移植到 GStreamer 1.0。

在我的应用程序中,我有一些用 Python 编写的自定义元素( 和 的子类gst.BaseSrcgst.BaseTransform。每个 python 元素都有自己的文件并放置在/usr/lib/gstreamer-0.10/python其中gst-launch并且gst-inspect可以拾取它们(它们会这样做)。

这非常方便,因为它使我可以直接在命令行上试验不同的管道。

现在我正在尝试移植我的应用程序(根据本指南https://wiki.ubuntu.com/Novacut/GStreamer1.0),即使仍然可以使用 PyGI 编写 python 元素,它看起来像将它们存储在单独的文件中并将它们集成到 GStreamer 中的可能性已经消失。

我发现的所有示例都讨论了将元素放入您正在编写的程序中,然后通过调用注册它们Gst.Element.register,但如果我这样做,则只能直接从该程序访问我的自定义元素,我希望它们独立工作(使用 gst-launch),无需在程序中编写我的过滤器链。

那么有谁知道 GStreamer 1.0 是否仍然可以做到这一点?

4

2 回答 2

3

为了帮助其他人解决这个问题,我现在自己回答这个问题。

经过一些深入的研究,我现在发现在 2014 年 10 月 20 日发布 gst-python 1.4.0 之前,不可能有任何独立的 python 元素。

有关发行说明,请查看此处:

http://gstreamer.freedesktop.org/releases/gst-python/1.4.0.html

于 2015-02-08T00:53:04.470 回答
0

我不知道您是否遇到与我相同的问题,但在 https://wiki.ubuntu.com/Novacut/GStreamer1.0的示例 中,当我尝试注册新插件时出现错误导致错误. 它正在使用

__gstdetails__ = (
    'Dmedia File Source',
    'Source/File',
    'Resolves a dmedia ID to a file path, then acts like a filesrc',
    'Jason Gerard DeRose <jderose@novacut.com>',
)

当它必须是:

 __gstmetadata__  = (
    'Dmedia File Source',
    'Source/File',
    'Resolves a dmedia ID to a file path, then acts like a filesrc',
    'Jason Gerard DeRose <jderose@novacut.com>',
)
于 2014-03-26T09:52:46.253 回答