python获取视频时长

今天有个需求,需要获取视频时长:

  • 方法一:使用moviepy库打开视频文件并获取视频剪辑对象,然后通过剪辑对象获得视频时长。
  • 方法二:使用cv2库通过打开视频文件并获取帧率和总帧数两个属性,计算视频时长。

请注意:以下代码示例只适合读取本地视频文件,如果需要从网络视频流中获取时长,需要使用不同的方法。

让我郁闷的是cv2库,我安装总是报错,最终还是没有安装上

这里使用方法一,方法二中的cv2包我安装失败了。

python 复制代码
from moviepy.editor import VideoFileClip
import time

def get_video_duration(filepath):
    clip = VideoFileClip(filepath)
    duration = clip.duration
    clip.close()
    return duration


duration = get_video_duration(r"E:\Downloads\佛爷哥五杀.mp4")

##上面这个函数所获得的视频时长为秒,但是我想要的是分钟,或者是具有可读性的时间格式。

def seconds_to_time(seconds):
    # SecToConvert = 56000

    MinutesGet, SecondsGet = divmod(seconds, 60)
    HoursGet, MinutesGet = divmod(MinutesGet, 60)

    # 省略小数点
    HoursGet = int(HoursGet)
    MinutesGet = int(MinutesGet)
    SecondsGet = int(SecondsGet)

    print("视频时长:", HoursGet, "小时", MinutesGet, "分", SecondsGet, "秒")


seconds_to_time(duration)

运行结果:

bash 复制代码
视频时长: 0 小时 2 分 5 秒
相关推荐
cndes1 小时前
给Miniconda换源,让包下载更迅速
开发语言·python
LuminousCPP1 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
蓝田~1 小时前
AI 图片与视频处理 — 从原理到实践
网络·人工智能·音视频
Metaphor6921 小时前
使用 Python 添加、隐藏和删除 PDF 图层
python·pdf·图层
兰令水1 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
丨白色风车丨1 小时前
【Python 计算机视觉】基于 Dlib+OpenCV 实现实时人眼疲劳检测(闭眼预警)
python·opencv·计算机视觉
铅笔侠_小龙虾2 小时前
Rust 学习(4)-函数与注释
开发语言·学习·rust
tiana_2 小时前
写了个零依赖的 Go 版本管理器,curl | bash 完事
开发语言·golang·bash
嘘嘘出差2 小时前
Python 爬虫入门实战:爬取豆瓣电影 Top 250
开发语言·爬虫·python
爱写代码的倒霉蛋2 小时前
实现协程的三种方式
开发语言·python