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 秒
相关推荐
小二·1 分钟前
Java基础教程之网络编程
java·开发语言·网络
乾元1 分钟前
多厂商配置对齐器:AI 如何在 Cisco / Huawei / Juniper 间做语义映射
运维·开发语言·网络·人工智能·网络协议·华为·智能路由器
熊文豪2 分钟前
使用Python快速开发一个MCP服务器
服务器·开发语言·python·mcp
leo_2323 分钟前
SMP(软件制作平台)语言基础知识简介之一
开发语言·smp(软件制作平台)·软件开发工具
言言的底层世界3 分钟前
c/c++基础知识点
开发语言·c++·经验分享·笔记
高洁015 分钟前
卷积神经网络(CNN)
人工智能·python·深度学习·神经网络·transformer
EasyCVR5 分钟前
视频汇聚平台EasyCVR级联至萤石云平台通道无法播放原因排查
音视频
ViiTor_AI6 分钟前
怎么又快又好的给视频加字幕?介绍三个工具
人工智能·音视频·双语字幕·给视频加字幕
weixin_421133418 分钟前
PGN + SHield
开发语言
安然无虞9 分钟前
LoadRunner性能测试详解·下
python·测试工具·压力测试