import cv2
cap = cv2.VideoCapture(file_path.encode('utf-8'))
# file_path是文件的绝对路径,防止路径中含有中文时报错,需要解码
if cap.isOpened(): # 当成功打开视频时cap.isOpened()返回True,否则返回False
# get方法参数按顺序对应下表(从0开始编号)
rate = cap.get(5) # 帧速率
FrameNumber = cap.get(7) # 视频文件的帧数
duration = FrameNumber/rate/60 # 帧速率/视频总帧数 是时间,除以60之后单位是分钟
另外,cv2.VideoCapture(0)是打开本地摄像头
以下是opencv-python可以获取视频的相关信息,可以通过从0开始的序号获取
CV_CAP_PROP_POS_MSEC 视频文件的当前位置(以毫秒为单位)或视频捕获时间戳。
CV_CAP_PROP_POS_FRAMES 接下来要解码/捕获的帧的基于0的索引。
CV_CAP_PROP_POS_AVI_RATIO 视频文件的相对位置:0 - 电影的开始,1 - 电影的结尾。
CV_CAP_PROP_FRAME_WIDTH 视频流中帧的宽度。
CV_CAP_PROP_FRAME_HEIGHT 视频流中帧的高度。
CV_CAP_PROP_FPS 帧速率。
CV_CAP_PROP_FOURCC 编解码器的4字符代码。
CV_CAP_PROP_FRAME_COUNT 视频文件中的帧数。
CV_CAP_PROP_FORMAT 返回的Mat对象的格式 retrieve() 。
CV_CAP_PROP_MODE 指示当前捕获模式的特定于后端的值。
CV_CAP_PROP_BRIGHTNESS 图像的亮度ÿ