誰かが私がpython内からvideosink/pipelineの出力としてtkinterウィンドウを使う方法を知っていますか?これは、Windows 32ビット上で私の作品のxTkinterのビデオ出力GStreamerから?
3
A
答えて
2
XXX一緒に事前のおかげで、私は他のGUIシステムの多くのための方法を発見した、しかし、私はTkinterのと何か他のものを使用する必要がありますする必要はいけません。 LinuxまたはWindows 64ビットでsegフォルトが発生する。申し訳ありませんが、Macについてはわかりません。次のコードで見ることができるよう
あなたはbus.connect( "同期メッセージ::要素"、on_sync_message)を使用するとTkウィジェットのIDを渡す必要があり、(はをwinfo_id)。コンテナはどんなTkウィジェットでもかまいませんが、黒いフレームが一番うまくいくようです。
import sys, os
from Tkinter import *
import pygst
pygst.require("0.10")
import gst
def start():
player.set_property('video-sink', None)
player.set_property("uri", "file:///" + sys.argv[1])
player.set_state(gst.STATE_PLAYING)
def on_sync_message(bus, message):
if message.structure is None:
return
message_name = message.structure.get_name()
if message_name == "prepare-xwindow-id":
imagesink = message.src
imagesink.set_property("force-aspect-ratio", True)
imagesink.set_xwindow_id(mwin_id)
window = Tk()
window.geometry("500x400")
movie_window = Frame(window,bg='#000000')
movie_window.pack(side=BOTTOM,anchor=S,expand=YES,fill=BOTH)
mwin_id = movie_window.winfo_id()
player = gst.element_factory_make("playbin2", "player")
fakesink = gst.element_factory_make('fakesink', 'novideo')
player.set_property('video-sink', fakesink)
bus = player.get_bus()
bus.add_signal_watch()
bus.enable_sync_message_emission()
bus.connect("sync-message::element", on_sync_message)
start()
window.mainloop()
+0
私はLinux上でセグメンテーション違反を得ますか – erjoalgo
関連する問題
- 1. GStreamerのビデオからスクリーンショットを抽出しますか?
- 2. gstreamerでアンドロイドカメラからビデオをキャプチャ
- 3. Gstreamer 1.0 - ビデオ合成
- 4. GStreamerのビデオ上のトランジション?
- 5. GStreamerフルHDビデオRTPストリーム(ラズベリーパイ)
- 6. ライブビデオをROSからGstreamerビデオに変換する
- 7. Python - Tkinterのラベル出力?
- 8. cameraKit-android出力ビデオ
- 9. メッセージボックスにtkinter表示出力
- 10. ビデオのライン電力検出
- 11. Gstreamerでビデオをセグメント化する
- 12. Python Tkinterウィンドウ出力とシェル入力
- 13. tkinterを使用してsqlite3データベースからテキストを出力する
- 14. Android携帯からのビデオ出力をPCに防止する
- 15. gstreamerとオーディオ/ビデオが同期していないテレビチューナー/ウェブカメラからの録画
- 16. Python 3のtkinterの入出力。
- 17. gstreamerを使用したh264ビデオファイルからのオーバーレイテキストの抽出
- 18. GStreamerビデオをPythonで描画するためにハンドルからウィンドウxidを取得
- 19. GStreamerの動き検出
- 20. gstreamerプロキシrtspsrcからtcpserver
- 21. Gstreamer rtsp ipcameraから受信
- 22. gstreamerでビデオを複製してパイプラインをバックアップしますか?
- 23. のgstreamer:出力ウィンドウは、私がgstreamerの使用時に、私は次のエラーに苦しんでいます
- 24. ARKitアプリへのビデオ出力の追加
- 25. ストリーミングからのビデオの抽出
- 26. .FLAからのフレームの抽出Adobeビデオ
- 27. 出力オーディオをgstreamerスクリプトにパイプする方法は?
- 28. 時間依存PDEのビデオ出力
- 29. TabletのHdmiビデオ出力が空白
- 30. ビデオのHDMI出力をブロックする
関連:[?Tkinterではビデオファイルを再生するための方法](http://stackoverflow.com/q/7227162/4279) – jfs