首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pythoin设置GStreamer元素属性

用pythoin设置GStreamer元素属性
EN

Stack Overflow用户
提问于 2019-04-18 21:22:28
回答 1查看 612关注 0票数 0

这个简单的Gstreamer应用程序使用python失败

代码语言:javascript
复制
import pgi
pgi.require_version('Gst', '1.0')
from pgi.repository import Gst, GLib
import traceback

Gst.init([])

pipeline = Gst.Pipeline()
src = Gst.ElementFactory.make('videotestsrc', 'src')
sink = Gst.ElementFactory.make('autovideosink', 'sink')
pipeline.add(src)
pipeline.add(sink)
src.link(sink)
src.set_property("pattern", 0)

pipeline.set_state(Gst.State.PLAYING)

使用

代码语言:javascript
复制
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~/Documents/mythic-projects/OKR_2019Q2/gstreamer_pipeline.py in <module>
     12 pipeline.add(sink)
     13 src.link(sink)
---> 14 src.set_property("pattern", 0)
     15
     16 pipeline.set_state(Gst.State.PLAYING)

~/Documents/mythic-projects/OKR_2019Q2/venv/lib/python3.6/site-packages/pgi/obj.py in set_property(self, name, value)
     73
     74         if not hasattr(self.props, name):
---> 75             raise TypeError("Unknown property: %r" % name)
     76         setattr(self.props, name, value)
     77

TypeError: Unknown property: 'pattern'

我可以确认命令行操作工作正常:

代码语言:javascript
复制
gst-launch-1.0 videotestsrc pattern=snow ! autovideosink

但是API似乎与文档和教程不同。对于任何.set_property()操作都是如此。

例如http://lifestyletransfer.com/how-to-launch-gstreamer-pipeline-in-python/

我正在Mac上运行,python3.6,我安装了gstreamer,如这里所概述的:Installing Gstreamer-1.0 on Mac OS X Mavericks (我也尝试从.dmg安装,但结果是一样的)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-19 06:06:29

本教程使用的是import gi而不是import pgi。这可能会有所改变。

PGI页面https://github.com/pygobject/pgi说它是没有维护的,人们也应该使用PyGObject。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55753897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档