問題タブ [python-gstreamer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PyGI でウィンドウ ハンドルを取得する
私のプログラムでは、PyGObject/PyGI と GStreamer を使用して、GUI でビデオを表示します。ビデオは a で表示されるため、 -signal-handlerGtk.DrawingArea
でそのウィンドウ ハンドルを取得する必要があります。realize
Linux では、次を使用してそのハンドルを取得します。
しかし、どうすれば Windows でハンドルを取得できますか?
window.handle
インターネットで検索しましたが、PyGI を使用して動作しないPyGtk を使用した例のみが見つかりました。
GStreamer のドキュメントには、マクロを使用してハンドルを取得する例が記載されています。GDK_WINDOW_HWND
このマクロは AFAIK を使用しますgdk_win32_drawable_get_handle
。しかし、PyGI を使用して Python でそれを行う方法は?
15-07-28 更新: (簡略化された) コード
を追加 Windows でビデオ再生をまだ動作させません。
問題 1: _on_video_realize() でウィンドウ ハンドルを取得できません。
問題 2: _on_player_sync_message() メソッドが呼び出されない。
python - GStreamer 0.10 で異なるソース間の切り替えが機能しない
を使用して2つのストリームを切り替えようとしてinput-selector
いますが、エラーが発生しています:
これは私のPythonコードです:
この2つの機能だけが必要だと思います。input-stream
要素をテストできるように書きました。起こることは、パッドNone
を取得しようとするとタイプが取得されることです。sink0
なんで ?
python - Gstreamer パイプラインの動的変更 Python
gstreamer パイプラインを動的に変更しようとしましたが、状態を変更するとすぐにストリームが停止します。私がここで何をしているのですか。これが私のコードです:
参考になる代替方法やチュートリアルがあれば教えてください。前もって感謝します。
gstreamer - new_single_shot_id を使用して事前定義された時間の後に gstreamer で eos を送信する
画像付きのビデオを作成している gstreamer アプリケーションがあります。事前定義された時間のビデオを作成する必要があります。事前定義された時間の後に eos を送信したいと思います。これは、gstClock の new_single_shot_id を使用して実現できることを知っています。しかし、パイプラインに eos を送信する関数にバインドされたトリガーを作成するために new_single_shot_id を使用する方法の例は見つかりませんでした。
私の簡略化されたパイプライン コードは次のようになります。
私は gstreamer を初めて使用し、C プログラミングの経験がありません。Python の例は非常に役立ちます。
python - gstreamer1.0とgtk3で再生コントロール付きの簡易オーディオプレーヤーを作る
最近の Gstreamer1.0 を含め、GI ライブラリを使って簡単な音楽プレーヤーを作りたいと思っています。インターフェイスは、2 つのボタン (再生/一時停止) と、現在の再生時間をシークするためのスケールで構成されています。
私はパイプラインと要素のことをかなりよく理解しており、必要な再生時間(ユーザーがスケールの値を変更したとき)を求める方法も理解しましたが、スライダー/スケールを自動的に更新する最良の方法は何だろうか.ファイルが再生されます。ここで古い API を使用して実装されている 1 つの方法は、現在のプレーヤーの位置を定期的に読み取り、スライダーの位置を更新するタイマーを使用することです。
非常にエレガントだとは思いません。新しい GI API を使用してこれを行うより良い方法はありますか?
編集:好奇心旺盛な人のために、ここに実装しました
python - GLib.Error: gst_parse_error: 要素 "zbar" がありません
エラー:
python gstreamer script error message no element "h264parse"への回答に続いて、zbar
の一部であるgst-plugins-bad
ことがわかりましたが、既にインストールされていgst-plugins-bad 1.4.5-1
ます。では、なぜまだこのエラーが発生するのでしょうか?
役立つ場合は、Arch Linuxを使用しています。
linux - GStreamer:1つのファイルをループに再生する方法は?
これとともに:
その test.ogg ファイルの無限ループを強制するにはどうすればよいですか?
python - python-gst をデプロイします。Windows の Pyinstaller が gi パッケージで失敗する - DLL の読み込みに失敗しました
Python (python-gst) で gstreamer のバインディングを実行するプログラムをデプロイしようとしています。これにはpyinstallerを使用しています。Windows 7、python-2.7 64ビットを実行しています。Heres 最小限の作業例 - pyinstallertest.py:
次にpyinstaller foo.spec
、エラーや警告なしで実行します。ここで、foo.spec は次のファイルです。
生成された pytest.exe を \dist\pytest\ で実行すると、次のエラーで失敗します。
これを修正する方法、または gstreamer (および gi パッケージ) を含む Windows に Python プログラムをデプロイする別の方法についてのアイデアはありますか?