使用python和gstreamer将webm视频转换为avi视频

时间:2012-04-06 19:31:30

标签: python gstreamer

我想在python中编写一个gstramer管道,将webm视频转换为avi视频。

我制作了管道来显示webmvideo,它有效。 如何表现我想要的? 我只是在视频队列中添加“x264”元素并且对音频队列“跛脚”就足够了。 我注意到多路复用器是必要的,我对此表示赞同。 我得到的是:

gst.element_link_many(self.queuev, self.video_decoder,colorspace,x264enc) gst.element_link_many(self.queuea, self.audio_decoder, audioconv,lame) gst.element_link_many(avimux,filesink)

其中有一个特定的功能来使用audiodecoder和videodecoder:

def demuxer_callback(self, demuxer, pad): if pad.get_property("template").name_template == "video_%02d": qv_pad = self.queuev.get_pad("sink") pad.link(qv_pad) elif pad.get_property("template").name_template == "audio_%02d": qa_pad = self.queuea.get_pad("sink") pad.link(qa_pad)

我想我要为avimux编写类似的代码。 我做到了这一点:

 def avimux_callback(self, avimux, pad1):
    if pad1.get_property("template").name_template == "video_%02d":
        qv_pad1 = self.queuev.get_pad("sink")
        pad1.link(qv_pad1)
    elif pad1.get_property("template").name_template == "audio_%02d":
        qa_pad1 = self.queuea.get_pad("sink")
        pad1.link(qa_pad1)

但我收到有关filesource的错误,但脚本不起作用。 建议? 谢谢 FrankBr

0 个答案:

没有答案