一、视频基本操作:
- 1.读取视频帧率、分辨率、读取视频总帧数、起始播放帧数
- 2.使用键盘控制视频
- 3.显示视频播放进度
二、基本操作对应代码
【完整代码】提取码:0vvb
1.读取视频帧率、分辨率、读取视频总帧数
#——————————————————————————————
#————————添加自己的视频播放路径———————————
video_path="F:/Zeng-20180622/Video180621/1.flv"
# 创建一个视频读写类
video_capture=cv2.VideoCapture(video_path)
#读取视频的fps, 大小
fps=video_capture.get(cv2.CAP_PROP_FPS)
size=(video_capture.get(cv2.CAP_PROP_FRAME_WIDTH),video_capture.get(cv2.CAP_PROP_FRAME_HEIGHT))
print("fps: {}\nsize: {}".format(fps,size))
#读取视频时长(帧总数)
total = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))
print("[INFO] {} total frames in video".format(total))
#设定从视频的第几帧开始读取
#From : https://blog.csdn.net/luqinwei/article/details/87973472
frameToStart = 2000
video_capture.set(cv2.CAP_PROP_POS_FRAMES, frameToStart);
2.使用键盘控制视频
#--------键盘控制视频---------------
#读取键盘值
key = cv2.waitKey(1) & 0xff
#设置空格按下时暂停
if key == ord(" "):
cv2.waitKey(0)
#设置Q按下时退出
if key == ord("q"):
break
3.显示视频播放进度
#显示当前视频已播放时间和总时间
#计算当前
now_seconds=int(current_frame /fps%60)
now_minutes=int(current_frame/fps/60)
total_second=int(total /fps%60)
total_minutes=int(total/fps/60)
# { <参数序号> : <填充> <对齐)> <宽度> <,> <.精度> <类型>}.
Time_now_vs_total="Time:{:>3}:{:>02}|{:>3}:{:0>2}".format(now_minutes,now_seconds,total_minutes,total_second)
print(Time_now_vs_total)
三、展望
OpenCV有很多视频处理函数,有待进一步学习。(图来源)
四、参考博文
python-opencv-视频处理常用函数:https://blog.csdn.net/luqinwei/article/details/87973472