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()