本博客运行环境为Windows,python 3.7 。要提前安装好opencv库。
调用本地摄像头录制视频并保存。
代码如下
import cv2cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))
while cap.isOpened():ret, frame = cap.read()if ret == True:out.write(frame)cv2.imshow("capture", frame)if cv2.waitKey(1) & 0xFF == ord('1'):breakelse:break
cap.release()
out.release()
cv2.destroyAllWindows()
视频保存的问题
从一开始运行只有0kb到后面运行的6kb无法播放,再到最终的成功的调用保存下来。网上的各种保存问题大概是都遇到上了一遍吧。解决方法也都尝试了,但是无果。
1、视频保存下来0kb,无法打开
0kb可能是由于编码格式与电脑的不符合,电脑上没有相应的编码格式。曾下过解码器转换器等,但也没啥用。不过还是可以尝试一下。
2、视频保存下来6kb,无法打开
6kb可能是因为摄像头拍摄的视频分辨率与opencv中最大只有640*480分辨率不符。可以查看之前视频的文件长宽来更改代码中的视频长宽。不过我更改了多次也无用,或许是因为运行了太多次了吧。
最后解决办法是新建了一个.py文件,重新运行就成功了。
修改视频长宽,直接修改视频编码格式可参看下图。