语音视频工具

获取视频长度:

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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值