0
I가 제공되는 버퍼가이 크기 요구보다 크고 때문에 그러나 파이 게임 충돌이 코드를 실행하는 경우 잘못된 버퍼 길이 gstreamer를
def __handle_videoframe(self, appsink):
"""
Callback method for handling a video frame
Arguments:
appsink -- the sink to which gst supplies the frame (not used)
"""
buffer = self._videosink.emit('pull-buffer')
(w,h) = buffer.get_caps[0]["width"],buffer.get_caps[0]["height"]
reqBufferLength = w * h * 3 #Required buffer lenght for a raw rgb image of these dimensions
print "Buffer length: " + str(len(buffer.data))
print "Needed length: " + str(reqBufferLength)
img = pygame.image.frombuffer(buffer.data, self.vidsize, "RGB")
self.screen.blit(img, self.vidPos)
pygame.display.flip()
있는 GStreamer
의해 공급 된 비디오 프레임을 포함하는 버퍼 객체를 처리하는 다음 함수 일치해야합니다. 나는 이것이 (아마도 대부분의 영화가 잘 돌아가는 것처럼) 재생되는 영화의 잘못된 인코딩으로 인한 것임을 알고 있습니다. 그러나이 우발 사건을 설명 할 방법이 있습니까? 올바른 크기로 버퍼의 크기를 조정하는 방법이 있습니까? 필요한 길이로 버퍼의 꼬리를 자르려고 시도한 다음 영화가 재생되지만 출력이 손상됩니다.