Python OpenCV 库函数VideoCapture 的基本属性见下表:
attribute | definition |
---|---|
cv2.VideoCapture.get(0) | 视频文件的当前播放位置,以毫秒为单位 |
cv2.VideoCapture.get(1) | 基于以0开始的被捕获或解码的帧索引 |
cv2.VideoCapture.get(2) | 视频文件的相对播放位置:0=视频开始,1=视频结尾。 |
cv2.VideoCapture.get(3) | 视频流的帧的宽度 |
cv2.VideoCapture.get(4) | 视频流的帧的高度 |
cv2.VideoCapture.get(5) | 视频的帧速率 |
cv2.VideoCapture.get(6) | 视频数据流格式的四字符代码 |
cv2.VideoCapture.get(7) | 视频文件中的帧 |
比如使用python OpenCV获得视频的时长:
使用代码获取视频时长:
import cv2
cap = cv2.VideoCapture("./Demo.avi")
if cap.isOpened(): # 当成功打开视频时cap.isOpened()返回True,否则返回False
# get方法参数按顺序对应上表(从0开始编号)
rate = cap.get(5) # 帧速率
FrameNumber = cap.get(7) # 视频文件的帧数
duration = FrameNumber/rate # 帧速率/视频总帧数 是时间,单位为秒
print(duration)
#33.666666666666664