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 秒
相关推荐
Run_Teenage12 分钟前
Linux:线程互斥,线程锁
运维·开发语言·jvm
小小de风呀14 分钟前
de风——【从零开始学C++】(四):类和对象(下)
开发语言·c++·算法
覆东流15 分钟前
第10天:python元组
开发语言·后端·python
万事大吉CC15 分钟前
【5】Django 的模板语言:页面架构设计
后端·python·django
CSCN新手听安16 分钟前
【Qt】系统相关(一)内容简介,事件概念,事件的处理
开发语言·c++·qt
不想写代码的星星28 分钟前
重识 std::tuple:一个被低估的编译期异构容器
开发语言·c++
techdashen1 小时前
用 Rust 写生产级服务要踩多少坑——Cloudflare 把答案做成了一个开源库
开发语言·rust·开源
码界奇点1 小时前
基于Python的微信公众号爬虫系统设计与实现
开发语言·爬虫·python·毕业设计·web·源代码管理
2401_846339561 小时前
Vue 3 中集成 Three.js 场景的完整实现指南
jvm·数据库·python
落雪寒窗-1 小时前
Python开发个人日常记录
开发语言·python