Tkinter中的视频输出?
我之前发过一个类似的问题,但没有人回答,所以我想问一个更普遍的问题:
有没有人知道怎么在Python的Tkinter窗口里输出真正的视频,而不是快速变化的一系列图片?
2 个回答
0
现在,Python的tkinter可以在界面中播放视频,而且还有声音。你可以看看这个模块:tkintervideo。这个功能是通过很多模块的配合实现的,所以现在它支持快进、快退和寻找特定位置的选项。

如果出现任何错误,可以把问题反馈到这个项目的GitHub问题页面上。
from tkintervideo import player
from tkintervideo.tools import Controls
import tkinter as tk
from tkinter import ttk
import sv_ttk
import time
class App(tk.Tk):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
sv_ttk.set_theme('dark')
self.m_widget = player.Player(self,height=200,width=300)
self.rowconfigure(0,weight=1)
self.rowconfigure(1,weight=0)
self.columnconfigure(0,weight=1)
self.m_widget.grid(column=0,row=0,sticky=tk.NSEW,padx=5,pady=5)
self.m_widget.load('output.avi')
self.controls = Controls(self,self.m_widget)
self.m_widget.bind("<<Duration>>",self.controls.update_scale)
self.controls.grid(column=0,row=1,sticky=tk.NSEW,padx=10,pady=10)
myApp = App()
myApp.mainloop()
3
你可能需要像TkVideo或Quicktime这样的扩展来实现这个功能,目前不太确定有没有适合Python的封装可以使用。https://github.com/patthoyts/tkvideo