在GStreamer 1.0中仍然可以有独立的Python元素吗?

在GStreamer 1.0中仍然可以有独立的Python元素吗?,python,gstreamer,python-gstreamer,Python,Gstreamer,Python Gstreamer,我有一个用gst python为GStreamer 0.10编写的应用程序,我正在尝试将其移植到GStreamer 1.0 在我的应用程序中,我有一些用Python编写的自定义元素(gst.BaseSrc和gst.BaseTransform的子类)。每个python元素都有自己的文件,并放置在/usr/lib/gstreamer-0.10/python中,以便gst-launch和gst-inspect可以拾取它们(它们会这样做) 这非常方便,因为它使我可以直接在命令行上试验不同的管道 现在,我

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

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

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

现在,我正在尝试移植我的应用程序(根据本指南),看起来即使仍然可以使用PyGI编写python元素,也不可能将它们存储在单独的文件中,并将它们集成到GStreamer中

我找到的所有示例都谈到将元素放置在您正在编写的程序中,然后通过调用
Gst.Element.register
注册它们,但如果我这样做,则只能直接从此程序访问我的自定义元素,我希望它们能够独立工作(使用Gst启动)无需在程序中编写过滤链


那么有人知道GStreamer 1.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>',
)
\uuuu gstdetails\uuuuu=(
“Dmedia文件源”,
“源/文件”,
'将dmedia ID解析为文件路径,然后像filesrc一样操作',
“杰森·杰拉德·德罗斯”,
)
必要时:

 __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>',
)
\uuuu gstmetadata\uuuu=(
“Dmedia文件源”,
“源/文件”,
'将dmedia ID解析为文件路径,然后像filesrc一样操作',
“杰森·杰拉德·德罗斯”,
)

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

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

有关发行说明,请查看以下内容:


和往常一样,当谈到GSTreamer时,只有少数人具备回答问题所需的知识,而这些人并不关心“简单”的新手问题。对于这个问题和其他问题,我尝试了IRC,甚至直接给人们发电子邮件,但到目前为止没有一个回复。正如你在我的新答案中所看到的,在gst python的1.4.0发布之前,这是不可能做到的。您编写代码的方式必须使Python元素嵌入到Python程序中。拥有可从其他语言使用的独立Python元素是GStreamer 1.0的一项相对较新的功能,但在以前的版本中已经运行了很长时间。非常感谢您报告您在这方面的发现。有时在这些问题上获得帮助是令人沮丧的,所以我为你找到答案并与他人分享而鼓掌。这真的帮了我的忙,谢谢。如果对你有帮助,我很高兴。