Загрузка данных


import pygame
import cv2

pygame.init()

# Открываем видеофайл через OpenCV
video = cv2.VideoCapture("video.mp4")
success, video_image = video.read()

# Устанавливаем размер окна по размеру видео
window = pygame.display.set_mode(video_image.shape[1::-1])
fps = video.get(cv2.CAP_PROP_FPS)
clock = pygame.time.Clock()

run = success
while run:
    clock.tick(fps)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    success, video_image = video.read()
    if success:
        # Конвертируем BGR кадр OpenCV в формат для Pygame Surface
        video_surf = pygame.image.frombuffer(
            video_image.tobytes(), video_image.shape[1::-1], "BGR"
        )
    else:
        # Видео закончилось
        run = False

    window.blit(video_surf, (0, 0))
    pygame.display.flip()

pygame.quit()