首页 > 解决方案 > GStreamer PyGObject 标志和枚举用法

问题描述

我正在使用 PyGObject 从 python 运行 Gstreamer 管道。我需要设置一些 GStreamerElements 的属性,例如元素的profiles属性。rtspclientsink

我正在使用GObject函数的<element>.set_property(name, val)PyGObject 等效项。set_property

但是,在这种特殊情况下,val是一个标志,GstRTSPProfile. 我想知道如何将这个标志导入和实例化为 python 类型,这样我就可以设置这个属性而不必只使用一个整数。

这就是我导入 Gstreamer 的方式:

import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstBase', '1.0')

from gi.repository import GObject, Gst, GstBase

GstRTSPProfile从导入gi.repository不起作用。我无法访问GstRTSPProfileGst访问GstBase

标签: gstreamerpygobject

解决方案


要像gst-launch-1.0使用. _ 将在失败时默默地不做任何事情(属性不存在,字符串不是有效值),尽管您可能想要检查。Gst.util_set_object_argGst.util_set_object_arg


推荐阅读