使用python将视频流保存为mp4文件,当视频流发生断流时,可以让其自动重连,这个该怎么改进呢?
```python
import cv2
import json
def rtsp_mp4():
with open('yolov5_config.json', 'r', encoding='utf-8') as fp:
opt = json.load(fp)
# cap = opt["source"]
cap = cv2.VideoCapture(opt["source"]) # 设置摄像头端口
widght = int(cap.get(3)) # 在视频流的帧的宽度,3为编号,不能改
height = int(cap.get(4)) # 在视频流的帧的高度,4为编号,不能改
size = (widght, height)
# size = (640, 640)
fps = 30 # 帧率
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # 为视频编码方式,保存为mp4文
out = cv2.VideoWriter()
# 定义一个视频存储对象,以及视频编码方式,帧率,视频大小格式
out.open(opt["video_name"], fourcc, fps, size)
while True:
ref, frame = cap.read() # 获取每一帧
frame = cv2.flip(frame, 1) # 翻转
out.write(frame) # 保存每一帧合并成视频
# cv2.imshow("frame", frame) # 显示视频界面
key = cv2.waitKey(1)
if key == 27:
break
# if cv2.waitKey(25) & 0xFF == ord('Q'): # 按Q退出
# break
cap.release() # 释放
out.release()
cv2.destroyAllWindows()
rtsp_mp4()
```