Python获取音视频时长

Python获取音视频时长

Python获取音视频时长

1、安装插件

powershell 复制代码
pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple

2、获取音视频时长.py

上代码:获取音视频时长.py

python 复制代码
# -*- coding: utf-8 -*-
from moviepy.editor import VideoFileClip
# import moviepy.editor.VideoFileClip
import os
import time

def get_time(seconds):
    hour = seconds // 3600  #ok,向下取整
    if len(str(hour)) != 2:
        hour2 = "0" + str(hour)
    else:
        hour2 = str(hour)
    miniute = (seconds - hour * 3600) // 60 #取余
    if len(str(miniute)) != 2:
        miniute2 = "0" + str(miniute)
    else:
        miniute2 = str(miniute)
    second = seconds - hour * 3600 - miniute * 60
    if len(str(second)) == 1:
        second2 = "0" + str(second)
    else:
        second2 = str(second)
    return str(hour2) + ":"+ str(miniute2) + ":" + str(second2)

#得到文件夹下的所有文件
def file_name(file_dir,file_type):
    L=[]
    for root, dirs, files in os.walk(file_dir):
        for file in files:
            # if os.path.splitext(file)[1] == '.wmv':
            if os.path.splitext(file)[1] == file_type:
                L.append(os.path.join(root, file))
    return L

# 得到日期格式
# def get_date_string_file():
#     # return time.strftime("%Y%m%d_%H%M%S",time.localtime())
#     return time.strftime("%Y%m%d", time.localtime())

# 在制定目录创建文件,存在的话就追加写入
def create_text_file(log_file_name,content):
    with open(log_file_name, 'a+') as f:
        f.write(content + '\n')  # 加\n换行显示
        f.close()

# file_dir = "D:/wmv"
# file_type = '.wmv'
file_dir = input("请输入文件目录,例如:'D:/wmv':")
file_type = input("请输入文件扩展名,例如:'.wmv':")
log_file_name = input("请输入日志文件存放目录,例如:'D:/20220115.log':")
# log_file_name = "D:/" + get_date_string_file() + '.txt'
total_times = 0
for file in file_name(file_dir,file_type):
    # print(file)
    # file = "D:/Video_2022-01-08_011427.wmv"
    clip = VideoFileClip(file)
    times = str(clip.duration)
    # times = times.splitlines()[-1].strip()
    # # print(times)
    # # print(int(float(times)))
    file_time = get_time(int(float(times)))
    print(file + " 文件时长:" + file_time)
    create_text_file(log_file_name, file + " 文件时长:" + file_time)
    total_times = total_times + int(float(times))
    # print(file+ " 文件时长:" + str(total_times))
# print("total_times = "+ str(total_times))
print("总时间为:"+get_time(total_times))
create_text_file(log_file_name, "总时间为:"+get_time(total_times))
file_type = input("程序执行完毕,请按任意键退出...")

3、打包exe

pyinstaller -F 获取音视频时长.py

4、下载地址

链接:https://pan.baidu.com/s/1WvsMyPHD3iFsM844gfC2Jg?pwd=yyds

相关推荐
肖永威1 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks1 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
threelab2 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师722 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴2 小时前
线程的生命周期之线程“插队“
java·开发语言·python
kaikaile19953 小时前
数字全息图处理系统(C# 实现)
开发语言·c#
xsc6996753 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
秋94 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
无风听海4 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
换个昵称都难4 小时前
webrtc 音频模块FEC模块
网络·音视频·webrtc