我想知道是否可以用Python3.6制作互动视频?我研究了使用python-gstreamer将视频输入到Tkinter中的方法,但是我不能让它工作。
因此,谁能建议一种方法并解释如何让视频在Python中播放?因此,也许可以有一个Tkinter窗口,这个视频可以显示在这个帧中?
如果Python不可行,欢迎任何其他想法。
谢谢
发布于 2017-11-09 15:10:38
下面的代码创建一个Tkinter窗口并在其中显示视频。如果您还没有所需的库,则需要安装一些依赖项。
import tkinter as tk, threading
import imageio
from PIL import Image, ImageTk
name = "video.mp4" # video file path
video = imageio.get_reader(name)
def stream(label):
for data in video.iter_data():
frame_image = ImageTk.PhotoImage(Image.fromarray(data))
label.config(image=frame_image)
label.image = frame_image
if __name__ == "__main__":
root = tk.Tk()
video_label = tk.Label(root)
video_label.pack()
thread = threading.Thread(target=stream, args=(video_label,))
thread.daemon = 1
thread.start()
root.mainloop()发布于 2019-05-09 01:11:55
您可以使用jupyter笔记本中的Video小部件来尝试:
from ipywidgets import Video, Image
from IPython.display import display
from ipywidgets import Checkbox
fileA= 'videoA.mp4'
fileB= 'videoB.mp4'
video = Video.from_file(fileB)
top_toggle = Checkbox(description='Change Video')
def video_loader(filename):
with open(filename, 'rb') as f:
video.value = f.read()
def video_change(button):
if button['new']:
video_loader(fileA)
else:
video_loader(fileB)
top_toggle.observe(video_change, names='value')
display(top_toggle)
display(video)https://stackoverflow.com/questions/47195688
复制相似问题