使用OpenCV看视频
import cv2
# video = cv2.VideoCapture("rtsp://192.168.0.200:554/av0_0")
video = cv2.VideoCapture("fire.mp4")
# 获取视频帧数
frame_count = int(video.get(cv2.CAP_PROP_FRAME_COUNT))
# 获取fps,每秒传输帧数(Frames per second)
fps = int(round(video.get(cv2.CAP_PROP_FPS)))
# 分辨率-宽度
width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
# 分辨率-高度
height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(f'视频帧数:{frame_count}')
print(f'FPS:{fps}')
print(f'Width:{width}')
print(f'Height:{height}')
# delay表示延迟多少毫秒进入下一帧
delay = int(1000 / fps)
while video.isOpened():
# ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。frame是每一帧的图像,是个三维矩阵。
ret, frame = video.read()
if frame is None:
break
if ret == True:
cv2.imshow("result", frame)
# waitKey(delay):表示一帧等待delay毫秒在进入下一帧,期间如果有按键按下返回的值就是按下按键的ASCII值; 27 = esc; & 0xFF只是为了排除键盘上其他按键的干扰
if cv2.waitKey(delay) & 0xFF == 27:
break
# 释放视频
video.release()
cv2.destroyAllWindows()
本文作者:碧水云天4
本文链接:https://www.cnblogs.com/smalldong/p/17900215.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步