Я пытаюсь сохранить видео, снятое с моей веб-камеры, с помощью imageio. Я хочу, чтобы веб-камера начала снимать, когда я нажимаю кнопку «Пуск», и останавливать запись / закрывать окно, когда я нажимаю кнопку «Стоп», и сохранять файл. Я не совсем знаком с imageio - я не могу понять аспект сохранения или почему веб-камера не открывается. Любая помощь приветствуется!
import imageio
import visvis as vv
from imageio import get_writer
import multiprocessing
import tkinter as tk
import numpy as np
writer = imageio.get_writer('/home/hj223/Documents/0222_video_recordings/some_file.mp4',
fps=30, codec='h264_vaapi')
e = multiprocessing.Event()
p = None
def record(e):
while e.is_set():
reader = imageio.get_reader('<video0>')
t = vv.imshow(reader.get_next_data(), clim=(0, 255))
for im in reader:
vv.processEvents()
t.SetData(im)
imageio.get_writer(im)
def start_recording_proc():
global p
p = multiprocessing.Process(target=record, args=(e,))
p.start()
def stop_record():
writer.close()
e.set()
p.join()
root.quit()
root.destroy()
if __name__ == "__main__":
# -------configure window
root = tk.Tk()
root.geometry("%dx%d+0+0" % (200, 200))
startbutton=tk.Button(root,width=10,height=1,text='START',command=start_recording_proc)
stopbutton=tk.Button(root,width=10,height=1,text='STOP', command=stop_record)
startbutton.pack()
stopbutton.pack()
# -------begin
root.mainloop()