我有一个用gst-python为GStreamer 0.10编写的应用程序,我试图移植到GStreamer 1.0。
在我的应用程序中,我有一些用Python编写的自定义元素(gst.BaseSrc
和gst.BaseTransform
的子类)。每个python-element都有自己的文件,并放在/usr/lib/gstreamer-0.10/python
中,以便gst-launch
和gst-inspect
可以接收它们(他们这样做)。
这非常方便,因为它使我可以直接在命令行上试验不同的管道。
现在我正在尝试移植我的应用程序(根据本指南https://wiki.ubuntu.com/Novacut/GStreamer1.0)看起来即使仍然可以用PyGI编写python-elements,似乎可以将它们存储在单独的文件并将它们集成到GStreamer中已经不见了。
我找到的所有示例都讨论了如何将元素放在您正在编写的程序中,然后通过调用Gst.Element.register
注册它们,但如果我这样做,则只能直接访问我的自定义元素从这个程序,我希望他们独立工作(使用gst-launch),而不必在程序中编写我的过滤器链。
所有人都知道GStreamer 1.0是否仍有可能吗?
答案 0 :(得分:3)
为了帮助其他人挣扎,我现在正在回答这个问题。
经过深入研究后,我发现在2014-10-20 gst-python 1.4.0发布之前,不可能有任何独立的python元素。
有关发行说明,请查看此处:
http://gstreamer.freedesktop.org/releases/gst-python/1.4.0.html
答案 1 :(得分: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>',
)