ビデオにフィルタを追加する必要があるため、アプリケーション内でplaybin
を自分のパイプラインに置き換えようとしています。ここに私が試したものです:gstreamer:カスタムパイプラインからの出力がありません(再生ビンを交換する)
# self.pipeline = gst.ElementFactory.make("playbin", None)
# self.pipeline.set_property("uri", "appsrc://")
self.pipeline = gst.Pipeline.new("player")
source = gst.ElementFactory.make("uridecodebin", "decodebin")
source.set_property("uri", "appsrc://")
self.pipeline.add(source)
aqueue = gst.ElementFactory.make("queue", "aqueue")
aconverter = gst.ElementFactory.make("audioconvert", "aconverter")
asink = gst.ElementFactory.make("autoaudiosink", "audiosink")
self.pipeline.add(aqueue)
self.pipeline.add(aconverter)
self.pipeline.add(asink)
source.link(aqueue)
aqueue.link(aconverter)
aconverter.link(asink)
vqueue = gst.ElementFactory.make("queue", "vqueue")
vconverter = gst.ElementFactory.make("videoconvert", "vconverter")
vsink = gst.ElementFactory.make("autovideosink", "videosink")
self.pipeline.add(vqueue)
self.pipeline.add(vconverter)
self.pipeline.add(vsink)
source.link(vqueue)
vqueue.link(vconverter)
vconverter.link(vsink)
後、私は、ソースのsource-setup
信号に接続し、need-data
信号にデータとそれを養うために。これはplaybin
で動作します。出力ウィンドウが開き、動画が表示されます。私のカスタムパイプラインでは何も起こりません。ウィンドウは開かず、もちろん何も見えません。
どうして私はそれを修正できますか?
私はまた、すべてのオーディオ素材を削除し、同じ結果でビデオ要素のみを使用してみました。私は本当にこのアプリケーションのためのオーディオを必要としません。
ダイナミックにうまくリンクすると、出力ウィンドウが表示されます。プレイバンのプロパティを設定してもうまくいきませんでしたが、どちらの方が自分のアプリケーションに適しているかを確認するだけです。 – Christoph
デバッグログを調べて、プロパティーの問題の理解に役立つかどうかを確認してください。 – thiagoss
デバッグそのような財産はないという。私はそれが別の質問に行くはずだと思います。 – Christoph