Устройство записи экрана с использованием Python OpenCV Library - PullRequest
0 голосов
/ 25 марта 2020

Я пытался сделать Screen Recorder с python. Код работает просто отлично и, кажется, записывает экран. Но проблема возникает, когда я пытался открыть сохраненный выходной файл (.mkv). Мой проигрыватель по умолчанию VL C не может идентифицировать вход, показывающий результаты, показанные ниже в приглашении:

VLC can't recognize the input's format:
The format of 'file:///C:/Users/user/Desktop/blocker/Output.mkv' cannot be detected. Have a look at the log for details.

Вот код, который я получил:

import numpy as np
import cv2 
#For windows users import this:
from PIL import ImageGrab

#Four character code object for video writer
code = cv2.VideoWriter_fourcc(*'XVID')
#Video writer object
out = cv2.VideoWriter("Output.mkv",code,5.0,(1366,786))

while True:
    #Capture the computer Screen
    img = ImageGrab.grab()
    #Convert image to numpy array
    img_np = np.array(img)
    #Convert image from BGR to RGB
    frame = cv2.cvtColor(img_np,cv2.COLOR_BGR2RGB)
    #Show image on OpenCV frame
    cv2.imshow("screen",frame)
    #Write fame to video writer
    out.write(frame)

    if cv2.waitKey(1)==27:
        break


out.release()
cv2.destroyAllWindow()
...