如何获得文件夹里的每个视频的时长(mm:ss)

下载了一些网课视频,想要得到每个视频的时长,记录到excel。

写个小脚本

系统导出器:从列表视图、树视图、组合框、Web 浏览器控件和文本框中获取数据。 (nirsoft.net)
这个软件

第一步,“查看”调成详细信息

第二步,用sysexp获取窗口信息

第三步,导出html视图查看,这时就能直接复制粘贴到excel了

image

5 个赞
from moviepy.editor import VideoFileClip
import os
import openpyxl

from tkinter import Tk
from tkinter import filedialog

# 隐藏Tkinter窗口
root = Tk()
root.withdraw()

# 选择文件夹路径
folder_path = filedialog.askdirectory()

# 创建Excel文件
wb = openpyxl.Workbook()
ws = wb.active
ws.append(["视频名称", "时长"])

# 遍历文件夹中的视频文件
for filename in os.listdir(folder_path):
    if filename.endswith((".mp4", ".avi",".mkv",".flv")):
        # 获取视频时长
        video_path = os.path.join(folder_path, filename)
        clip = VideoFileClip(video_path)
        duration = clip.duration
        clip.close()

        # 将时长转换为mm:ss格式
        duration_formatted = f"{int(duration // 60):02d}:{int(duration % 60):02d}"

        # 将时长和文件名写入Excel文件
        ws.append([filename, duration_formatted])

# 保存Excel文件
wb.save("视频时长.xlsx")

用这个python小脚本就行了

2 个赞

运行后会弹出文件夹选择框,选择后自动生成 ”视频时长.xlsx“

如果不会运行python,也可以用我打包好的 https://t.wss.ink/f/bmv8tbv3t2b 复制链接到浏览器打开
点击文件


处理完毕弹出提示框

生成对应文件

如果用的是 DirectoryOpus,只需要先勾选时长列:

再选择复制所有列:

如果需要经常使用的话,还可以用我的 GetColumnValue 命令来自定义按钮:

// 语法与重命名对话框中的“新名称”相同
GetColumnValue "* {duration}"
Clipboard SET {$glob:$result}
@set glob:$result

(DO 支持中文,我是因为个人习惯用的英文。)

1 个赞