0

我如何需要在 python 代码中链接这个 gstreamer 管道?(不使用 gst.launch()!)

filesrc ! h264parse ! avimux ! filesink

当我尝试创建垫对象时-

h264parse.get_pad('src0') 

它返回无类型。我还将缓冲探针连接到这个垫子上。

4

2 回答 2

2

这很简单,但与其给你代码,我建议你去阅读一下这个主题,试试这个:http ://www.jonobacon.org/2006/08/28/getting-started-与-gstreamer-与-python/

h264parse 的 srcpadname 是“src”,而不是“src0”,这就是它返回 NoneType 的原因。'src0' 通常只在你有一个带有请求垫的元素(如 Tee)时使用,但 h264parse 不是这种情况。

如果您仍然无法使其工作,请随时发布更完整的代码尝试。

于 2013-09-02T21:12:27.927 回答
0

A small snippet of code which works with 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()
于 2014-01-08T01:00:01.653 回答