如何在python代码中链接这个gstreamer管道? (不是使用gst.launch()!)
filesrc ! h264parse ! avimux ! filesink
当我尝试创建pad对象时 -
h264parse.get_pad('src0')
它返回NoneType。 我也将bufferprobe附加到这个pad。
答案 0 :(得分:1)
这是非常直接的,但我建议你去看一下这个主题,试试这个,而不是给你代码,http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/
h264parse的srcpadname是'src',而不是'src0',这就是它返回NoneType的原因。 'src0'通常只在你有一个带有请求垫的元素(如Tee)时使用,但对于h264parse则不是这样。
如果仍无法使用,请随意发布更完整的代码尝试。
答案 1 :(得分:0)
与Gstreamer 1.0,python 2.7:
一起使用的一小段代码import sys, os
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst, Gtk
GObject.threads_init()
Gst.init(None)
pipeline = Gst.Pipeline()
src = Gst.ElementFactory.make("filesrc", "src")
parse = Gst.ElementFactory.make("h264parse", "parse")
mux = Gst.ElementFactory.make("avimux", "mux")
sink = Gst.ElementFactory.make("fakesink","sink")
pipeline.add(src)
pipeline.add(parse)
pipeline.add(mux)
pipeline.add(sink)
pipeline.set_state(Gst.State.PLAYING)
Gtk.main()