Python —— cv2录像

前言

     一贯遇到rtsp拉流,我通常是上ffmpeg去解决。但今天一位老师在win10上用上了Python3+Cv2做了这个事情,那么并且拉流延时毫不逊色,几乎可以说是并驾齐驱了。

     那么看到效果让我有种恍然。我曾经用C++ + Openc3实现拉流rtsp,但延时并不像py+cv来的那么气势汹汹,和代码轻量。

环境

     1、Python3.8.7 (提取码:egiv )

     2、OpenCv2安装指令:pip install opencv-python

代码
# 引用OpenCv2
import cv2

# 定义打开视频对象
cap = cv2.VideoCapture("../test.mp4") 

# 读取一帧
ret, frame = cap.read()

# 视频写入格式 
fourcc = cv2.VideoWriter_fourcc(*'XVID') 
fps = cap.get(cv2.CAP_PROP_FPS)
size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))

# 视频输出对象
out = cv2.VideoWriter('camera_test.avi', fourcc, fps, size)

# 循环读取、写入
while ret:
	# 读取一帧
    ret, frame = cap.read()
    if frame is None:
        print('read frame is err!')
        continue

	# 显示一帧
    cv2.imshow("frame", frame)

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

	# 保存一帧
    out.write(frame)

# 释放窗口
cv2.destroyAllWindows()

# 视频写入结束
cap.release()

关注

笔者 - jxd

微信公众号搜索 “码农总动员” 或 微信扫描下方二维码,了解更多你不知道的XX,O(∩_∩)O

在这里插入图片描述

你可能感兴趣的:(Python,OpenCv,python,opencv)