Я пытаюсь записать экран на моем MacBook Pro и сохранить его в видеофайле. Это не конечная цель, но это первый шаг, и я замечаю то, на что я установил частоту записи, я получаю только половину из этого в моем последнем видео. например если я установлю его на 30, я получу видео, сохраненное в 30 кадрах в секунду, но каждый кадр будет повторяться. кадры 1 и 2 будут одинаковыми, рамки 3 и 4 будут одинаковыми; так далее и так далее. Поэтому я получаю только 15 кадров.
Я уже пытался установить частоту кадров 60 или 120, это дает мне тот же результат. Принимая во внимание, что когда я записываю свой экран с помощью профессиональной утилиты, такой как QuickTime, я получаю запись, как и должно быть, без повторяющихся кадров и тому подобное.
import numpy as np
import cv2
from mss import mss
from PIL import Image
bbox = {'top': 270, 'left': 100, 'width': 600, 'height': 150}
sct = mss()
#fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('/Users/vipulrajan/Downloads/DinoGame/output.avi',cv2.VideoWriter_fourcc(*'XVID'), 60.0, (1200,300), isColor=0)
while 1:
sct_img = sct.grab(bbox)
im = np.array(sct_img)[:,:,2] #converting the image to grayscale
out.write(im)
Я также попытался добавить и удалить функцию cv2.waitKey в коде, и это не имеет никакого значения. Кто-нибудь знает, что может быть причиной такого поведения?