最近项目遇到了视频流 的解析与播放功能,虽然暂时是由JAVA负责开发(本人负责C++开发),但是也顺便研究了一下python的简单实现,不多说直接上代码
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
import cv2
import threading
class Producer(threading.Thread):
"""docstring for ClassName"""
def __init__(self,str_rtsp):
super(Producer, self).__init__()
self.str_rtsp = str_rtsp
#通过cv2中的类获取视频流操作对象cap
self.cap = cv2.VideoCapture(self.str_rtsp)
#调用cv2方法获取cap的视频帧(帧:每秒多少张图片)
fps = self.cap.get(cv2.CAP_PROP_FPS)
print(fps)
#获取cap视频流的每帧大小
size = (int(self.cap.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(self.cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
print(size)
#定义编码格式mpge-4
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', '2')
#定义视频文件输入对象