以下是一个使用 Python 3 编写的脚本,它使用 mediainfo 来收集视频的信息并将其写入 Excel 文件中:

import os
import subprocess
import openpyxl

# 要处理的视频文件夹路径
VIDEO_FOLDER_PATH = '/path/to/videos/folder'

# Excel 文件路径
EXCEL_FILE_PATH = '/path/to/excel/file.xlsx'

# 列名
COLUMN_NAMES = ['文件名', '格式', '时长', '分辨率', '比特率']

# 使用mediainfo收集视频信息的命令
MEDIAINFO_COMMAND = 'mediainfo --Output=JSON '{}''

# 获取视频文件列表
video_files = [f for f in os.listdir(VIDEO_FOLDER_PATH) if f.endswith('.mp4')]

# 创建Excel工作簿和工作表
workbook = openpyxl.Workbook()
worksheet = workbook.active

# 写入列名
for i, column_name in enumerate(COLUMN_NAMES):
    worksheet.cell(row=1, column=i+1, value=column_name)

# 处理每个视频文件
for i, video_file in enumerate(video_files):
    print('处理视频文件 {}/{}: {}'.format(i+1, len(video_files), video_file))

    # 运行mediainfo命令并解析输出
    output = subprocess.check_output(MEDIAINFO_COMMAND.format(os.path.join(VIDEO_FOLDER_PATH, video_file)), shell=True)
    json_output = json.loads(output.decode('utf-8'))
    video_info = json_output['media']['track'][0]

    # 写入信息到Excel行
    row = [video_file, video_info['format'], video_info['duration'], '{}x{}'.format(video_info['width'], video_info['height']), video_info['bit_rate']]
    for j, value in enumerate(row):
        worksheet.cell(row=i+2, column=j+1, value=value)

# 保存Excel文件
workbook.save(EXCEL_FILE_PATH)

print('已完成处理并保存到Excel文件:{}'.format(EXCEL_FILE_PATH))

请注意,您需要在系统上安装 mediainfo,并将 VIDEO_FOLDER_PATHEXCEL_FILE_PATH 更改为实际的文件夹和文件路径。此脚本假定所有视频文件都是 .mp4 格式。如果您有其他格式的视频文件,请相应地更改。

使用 Python 和 MediaInfo 统计视频信息并写入 Excel

原文地址: https://www.cveoy.top/t/topic/mzZX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录