1

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)

しかし、ファイルソースに関するエラーが発生し、スクリプトが機能しません。提案?? ありがとう

4

0 に答える 0