ビデオの上に描画できるアプリケーションを Python で構築しようとしています。gstreamer + Tkinter を使用してこれを行う方法が見つかりませんでした。tk では、透明なキャンバスを作成できるとは思いません。そのため、代わりにgtkを使用することを検討しましたが、少し迷っています-ある種の透明なオーバーレイを上にドロップしてピクセルをプッシュできるようにしたいのですが、そのようなものはないと思います透明な DrawingArea のどちらかです。したがって、ビデオの各フレームが入った後、画面に表示される前に DrawingArea の内容を編集する方法が必要です。公開イベントを使用しようとしましたが、うまくいきませんでした。
ここからどこへ行くべきかについての提案はありますか? 最終製品を、ユーザーがビデオの上に線やポリゴンを描画したり、プログラムでピクセルを描画したり、可能であれば結果をフレームやビデオに保存したりできる小さなインターフェイスにしたいと考えています。したがって、それを可能にする可能性が高い方向が優先されます。
編集:「ハンドオフ」信号を使用しようとしましたが、狂ったようにちらつきます。PiTiVi には、Cairo で線や円を描くために使用する状態変更信号を持つカスタム パイプラインがあります。だから、これは完全に実行可能です...
編集2:そうですね。PiTiVi は、ビデオが一時停止されているときにのみ描画します。私はそれに対処できると思います。それが state changed シグナルを使用していた理由です。state change メッセージを監視し、シグナルをエミュレートできます。私はそれを扱うことができますが、すべてのフレームに描画するのは本当にいいでしょう.