python cv2读取rtsp实时码流按时生成连续视频文件方式

yipeiwu_com6年前Python基础

我就废话不多说了,直接上代码吧!

# coding: utf-8
import datetime
import cv2
import os
 
ip = '192.168.3.160'.replace(".", "_") 
rtsp = 'rtsp://admin:admin@192.168.3.160:554/1/1' 
# 初始化摄像头
cap = cv2.VideoCapture(rtsp)

fourcc = cv2.VideoWriter_fourcc(*'XVID')
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))


frame_count = 0
while cap.isOpened():
 isSuccess, frame = cap.read()
 if isSuccess: 
 if frame_count % 120 == 0 or frame_count == 0: 
  frame_count = 0 
  i = datetime.datetime.now().strftime("%Y%m%d%H%M%S") 
  filename = str(i) + '-' + ip + '.avi'
  print(filename)
  video_writer = cv2.VideoWriter(filename, fourcc, 24, size)
  
 video_writer.write(frame)
 frame_count = frame_count + 1
 print(frame_count)
 if frame_count % 120 == 0: 
  video_writer.release()
  portion = os.path.splitext(filename)
  newname = portion[0] + '.mp4'
  os.rename(filename, newname)
 cv2.imshow('show', frame) 
 if cv2.waitKey(1) & 0xFF == ord('q'):
 break
cap.release()
cv2.destroyAllWindows() 

效果

以上这篇python cv2读取rtsp实时码流按时生成连续视频文件方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解

Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解

virtualenv是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。创建的环境是独立的,互不干扰,...

django 将model转换为字典的方法示例

平常的开发过程中不免遇到需要把model转成字典的需求,尤其是现在流行前后端分离架构,Json格式几乎成了前后端之间数据交换的标准,这种model转dict的需求就更多了,本文介绍日常使...

获取Django项目的全部url方法详解

在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url 首先,考虑到项目最外层的urlpartte...

windows下python 3.6.4安装配置图文教程

windows下python 3.6.4安装配置图文教程

windows下python的安装教程,供大家参考,具体内容如下 —–因为我是个真小白,网上的大多入门教程并不适合我这种超级超级小白,有时候还会遇到各种各样的问题,因此记录一下我的安装过...

python脚本监控docker容器

本文实例为大家分享了python脚本监控docker容器的方法,供大家参考,具体内容如下 脚本功能: 1、监控CPU使用率 2、监控内存使用状况 3、监控网络流量 具体代码: #!/...