我正在尝试使用网络摄像头录制视频。网络摄像头可以做到1080p 30fps,但是我什至无法使用python和cv2获得出色的性能(1080p下仅为5fps,480p下仅为30fps)。
以下是我使用的代码:
import cv2
capture = cv2.VideoCapture(0)
capture.set(3,1920)
capture.set(4,1080)
w=int(capture.get(cv2.CAP_PROP_FRAME_WIDTH ))
h=int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT ))
fps = capture.get(cv2.CAP_PROP_FPS)
# video recorder
fourcc = cv2.VideoWriter_fourcc(*'XVID')
video_writer = cv2.VideoWriter("output.avi", fourcc, fps, (w, h))
print(fps)
while True:
ret, frame = capture.read()
video_writer.write(frame)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
我已经搜索了这个问题,但是找不到可行的解决方案。
我想知道获取SDK是否会使其性能良好,或者将编码方法从XVID更改为H264?
有什么建议吗?
非常感谢!