📜  使用Python获取视频时长 – OpenCV

📅  最后修改于: 2022-05-13 01:54:19.804000             🧑  作者: Mango

使用Python获取视频时长 – OpenCV

先决条件:

  • OpenCV 模块
  • 日期时间模块

OpenCV 是最受欢迎的跨平台库之一,广泛用于深度学习、图像处理、视频捕捉等。在本文中,我们将学习如何使用Python和计算机视觉获取给定视频的持续时间。

安装

可以通过在终端上运行给定的命令来下载 Opencv:

pip install Opencv

方法

要获取视频的持续时间,必须遵循以下步骤:

  • 导入所需的模块。
  • 通过向 VideoCapture() 方法提供视频 URL 来创建 VideoCapture 对象。

句法:

VideoCapture("url")
  • 通过向 get() 方法提供 cv2.CAP_PROP_FRAME_COUNT 和 cv2.CAP_PROP_FPS 来计算给定视频的总帧数和每秒帧数。
  • 通过除以帧和 fps 来计算视频的持续时间(以秒为单位)。
  • 此外,使用 timedelta() 方法计算视频时间。

句法:

timedelta(time)

下面是实现。

Python3
# import module
import cv2
import datetime
  
# create video capture object
data = cv2.VideoCapture('C:/Users/Asus/Documents/videoDuration.mp4')
  
# count the number of frames
frames = data.get(cv2.CAP_PROP_FRAME_COUNT)
fps = int(data.get(cv2.CAP_PROP_FPS))
  
# calculate dusration of the video
seconds = int(frames / fps)
video_time = str(datetime.timedelta(seconds=seconds))
print("duration in seconds:", seconds)
print("video time:", video_time)


输出 :

duration in seconds: 32
video time: 0:00:28