0
点赞
收藏
分享

微信扫一扫

【海康威视单个摄像头读取视频流并保存本地】

夕阳孤草 2022-03-12 阅读 263

【海康威视单个摄像头读取视频流并保存本地】

文前白话

本段代码作为之前一篇博客的补充:
链接: 【OpenCV-python&实现多进程两个摄像头同时录入视频并保存】.

  • 本段代码,可使用单个海康威视摄像头/ 笔记本摄像头,读取视频流,保存至本地,可以在开始读入前,进行文件的命名。

代码


# 单个摄像头读取并保存

import cv2
import os

# cap = cv2.VideoCapture("192.168.1.64")
cap = cv2.VideoCapture("rtsp://admin:zhangxuexiang714@192.168.1.64/") # 更改自己的相机信息
# cap = cv2.VideoCapture(0)  # 打开本地相机

fps = cap.get(cv2.CAP_PROP_FPS)
print('fps: ', fps)

# 创建VideoWriter类对象
file_name = input('请输入本次视频文件命名:')
fourcc = cv2.VideoWriter_fourcc(*'XVID')  # 编码方式 FourCC 码
out = cv2.VideoWriter("E:/Projects/project/traffic/video" + '\\' + str(file_name)+'.avi', fourcc, 20.0, (int(cap.get(3)), int(cap.get(4))), True) \
    # 输出视频文件名、视频编解码器、帧率、画面尺寸,默认彩色画质

while (cap.isOpened()):
    ret, frame = cap.read()  # 捕获一帧图像111
    cv2.resizeWindow("frame", 800, 500)  # 设置输出窗口的长和宽
    if ret == True:

        out.write(frame)  # 保存帧
        frame = cv2.flip(frame, 1)  # 垂直方向翻转,返回翻转后的图像(开启本地摄像头时)
        cv2.imshow('frame', frame)  # 显示帧

        if cv2.waitKey(1) & 0xFF == ord('q'): # 按键 q 退出
            break
    else:
          break

cap.release()  # 关闭相机
out.release()
cv2.destroyAllWindows()

举报

相关推荐

0 条评论