Я создаю видеоплеер, и мне нужно нарисовать несколько полигонов поверх него.Я использую QGraphicsScene, чтобы создать это, и мне нужно обновлять полигоны на экране после каждого кадра.В настоящее время я использую QMediaPlayer в паре с QGraphicsVideoItem для создания этого.У меня проблема в том, что QMediaPlayer не имеет сигнала, который активируется в каждом кадре.У него есть positionChanged (), но, похоже, он срабатывает только раз в секунду.
Я пытался использовать QMovie, поскольку он отправляет обновления для каждого кадра, но ничего не отображал.Это код, который я использовал для реализации этого.
video_view = QGraphicsView()#view to hold video
video_item = QGraphicsVideoItem()#video item for scene
video_scene = QGraphicsScene()#scene for Qgraphics view
video_view.setScene(video_scene)
label = QLabel()
movie = QMovie(self.video_paths[index]) #contains file path
label.setMovie(movie)
video_scene.addWidget(label)
self.vlayout_main_video.addWidget(video_view)
Используемый мной видеофайл - это файл .avi, его размер составляет 72 МБ.
Я был бы очень признателен, если бы кто-нибудь смогукажи мне правильное направление, как я могу это сделать.Я сейчас использую PyQt5.
Спасибо