沒有人知道我會如何使用tkinter窗口作爲python內的videosink/pipeline輸出嗎?我已經找到了很多其他GUI系統的方法,但我不想要使用tkinter和別的東西在一起xxx 在此先感謝x從GStreamer的Tkinter視頻輸出?
3
A
回答
2
這適用於Windows 32位上的我。我在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 2013-08-25 12:38:20
相關問題
- 1. Tkinter內的視頻輸出?
- 2. GStreamer RTP全雙工視頻輸入/輸出rtpbin
- 3. 視頻輸出在Windows上的ruby-mingw32 + gstreamer
- 4. GStreamer分段視頻
- 5. Gstreamer在tkinter中的攝像頭視頻源
- 6. GStreamer上的視頻轉換?
- 7. Gstreamer視頻輸出位置跟蹤和尋求
- 8. 如何使用Vala將GStreamer視頻輸出到Gdk.Pixbuf?
- 9. GStreamer的管道視頻和音頻
- 10. 的Gstreamer記錄音頻和視頻
- 11. 的Gstreamer音頻和視頻RTSP應用
- 12. 如何將輸出音頻輸出到gstreamer腳本?
- 13. Gstreamer音頻輸入到mp3
- 14. 使用OpenCV流視頻,GStreamer
- 15. 使用GStreamer播放視頻
- 16. Gstreamer視頻到opengl紋理
- 17. Gstreamer視頻到PGM文件
- 18. 如何使用gstreamer只從mpeg文件流式傳輸音頻/視頻?
- 19. Gstreamer一起播放音頻和視頻
- 20. FFMPEG從圖像流輸出視頻
- 21. Raspberry Pi的Gstreamer視頻接收器
- 22. 使用gstreamer通過RTP的視頻流
- 23. GStreamer視頻中的綠色線條
- 24. 需要GStreamer的命令爲視頻流
- 25. gstreamer的視頻到窗口在python
- 26. 使用gstreamer 1.0錄製來自視頻的視頻
- 27. Android的視頻和音頻輸出
- 28. gstreamer和mp4或帶音頻的avi輸出
- 29. 在Gstreamer上流式傳輸MP4視頻文件
- 30. gstreamer appsrc通過網絡進行視頻流式傳輸
相關:[?方式Tkinter的播放視頻文件(http://stackoverflow.com/q/7227162/4279) – jfs 2015-02-21 05:33:14