Вы можете уменьшить размер экрана и изменить местоположение наложения, чтобы скрыть зеленые полосы.Я знаю, что это не исправление, но вы можете найти его достаточно хорошим для дальнейшего развития.
Документация для Overlay предупреждает:
Объекты Overlay представляют доступ более низкого уровня каппаратное обеспечение дисплеяЧтобы использовать объект, вы должны понимать технические подробности наложения видео.
Таким образом, кто-то с большим опытом работы в области может предложить лучшее решение.
pygame.display.set_mode((1280, 718), pygame.RESIZABLE)
ovl = pygame.Overlay(pygame.YV12_OVERLAY,trueResolution)
ovl.set_location(pygame.Rect(0,-2,1280, 720))
Примечание также trueResolution
следует определять по исходному потоку, а не полноэкранным режимам , поддерживаемым графической картой.
Также image
в данном случае представляет собой VideoFrame Вы можете использовать его метод .to_image()
для преобразования в изображение типа PIL или .to_rgb()
, который может быть легче отобразить, если вы не хотите / не хотите использовать наложение.