将视频流保存为mp4文件

使用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()

```

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

已解决 https://blog.csdn.net/ctrlc66/article/details/125935841?spm=1001.2014.3001.5502