获取视频长度:
import wave
import contextlib
import cv2
audiofile = '/media/pc/disk/apt/pycharm-community-2021.2.2/pyhtonProject/talking_face/AD-NeRF-master/dataset/vids/001.wav'
with contextlib.closing(wave.open(audiofile,'r')) as f:
frames = f.getnframes()
rate = f.getframerate()
length = frames / float(rate)
print(length)
获取视频总帧数,fps,和每一帧图片
import wave
import contextlib
audiofile = '/media/pc/disk/apt/pycharm-community-2021.2.2/pyhtonProject/talking_face/AD-NeRF-master/dataset/vids/001.wav'
import cv2
# 读取视频
cap = cv2.VideoCapture("/media/pc/disk/apt/pycharm-community-2021.2.2/pyhtonProject/talking_face/AD-NeRF-master/dataset/vids/001.mp4")
# 获取FPS(每秒传输帧数(Frames Per Second))
fps = cap.get(cv2.CAP_PROP_FPS)
# 获取总帧数
totalFrameNumber = cap.get(cv2.CAP_PROP_FRAME_COUNT)
print(fps)
print(totalFrameNumber)
# 当前读取到第几帧
COUNT = 0
# 若小于总帧数则读一帧图像
while COUNT < totalFrameNumber:
# 一帧一帧图像读取
ret, frame = cap.read()
# 把每一帧图像保存成jpg格式(这一行可以根据需要选择保留)
cv2.imwrite(str(COUNT) + '.jpg', frame)
# 显示这一帧地图像
cv2.imshow('video', frame)
COUNT = COUNT + 1
# 延时一段33ms(1s➗30帧)再读取下一帧,如果没有这一句便无法正常显示视频
cv2.waitKey(33)
cap.release();