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 秒
相关推荐
心中有国也有家2 小时前
GE图引擎深度解析——CANN的计算图优化与执行引擎
人工智能·pytorch·python·学习·numpy
卷毛的技术笔记3 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥3 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog3 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008113 小时前
FastAPI APIRouter
开发语言·python
Benszen3 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆3 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木3 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r3 小时前
Java调用链MCP分析工具
java·python·ai编程
杨充4 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法