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

相关推荐
-To be number.wan19 分钟前
Python数据分析:numpy数值计算基础
开发语言·python·数据分析
Cx330❀1 小时前
【优选算法必刷100题】第038题(位运算):消失的两个数字
开发语言·c++·算法·leetcode·面试
Loo国昌1 小时前
深入理解 FastAPI:Python高性能API框架的完整指南
开发语言·人工智能·后端·python·langchain·fastapi
chinesegf2 小时前
Ubuntu 安装 Python 虚拟环境:常见问题与解决指南
linux·python·ubuntu
醉舞经阁半卷书12 小时前
Python机器学习常用库快速精通
人工智能·python·深度学习·机器学习·数据挖掘·数据分析·scikit-learn
hoiii1872 小时前
16APSK/32APSK调制解调MATLAB仿真实现
开发语言·matlab·fpga开发
feifeigo1232 小时前
基于MATLAB的情感语音模板培训与识别实现方案
开发语言·matlab
JH30732 小时前
Java Spring中@AllArgsConstructor注解引发的依赖注入异常解决
java·开发语言·spring
码农水水3 小时前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
开源技术3 小时前
Violit: Streamlit杀手,无需全局刷新,构建AI面板
人工智能·python