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

2024-10-01 02:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我做了一个管道来显示webmvideo,这很有用。 如何执行我想要的? 我认为只要在视频队列中添加一个“x264”元素,在音频队列中添加“lame”元素就足够了。 我注意到mux是必要的,我已经学会了。 我得到的是:

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)

如果有一个特定的功能可以使用音频解码器和视频解码器,即:

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)

但是我得到一个关于文件源的错误,脚本不能工作。 建议?? 谢谢 法兰克布


Tags: nameselfget视频linktemplatepropertyelement