以下是一个利用 MediaInfo 统计视频元数据并写入 Excel 的 Python3 脚本:

import os
import subprocess
import openpyxl

# 定义 MediaInfo 命令
mediainfo_cmd = 'mediainfo --Output=XML'

# 定义需要统计的元数据
metadata_list = ['General/CompleteName', 'General/Format', 'Video/CodecID', 'Video/Duration',
                 'Video/Width', 'Video/Height', 'Video/FrameRate', 'Audio/CodecID', 'Audio/SamplingRate',
                 'Audio/Channels', 'Audio/Duration']

# 定义需要统计的文件夹路径
folder_path = '/path/to/folder'

# 定义 Excel 文件名和路径
excel_file_name = 'metadata.xlsx'
excel_file_path = os.path.join(folder_path, excel_file_name)

# 创建 Excel 文件
workbook = openpyxl.Workbook()
worksheet = workbook.active

# 写入 Excel 表头
for i, metadata in enumerate(metadata_list):
    worksheet.cell(row=1, column=i+1, value=metadata)

# 遍历文件夹中的所有视频文件
for root, dirs, files in os.walk(folder_path):
    for file in files:
        file_path = os.path.join(root, file)
        if file_path.endswith('.mp4') or file_path.endswith('.avi'):
            # 执行 MediaInfo 命令
            output = subprocess.check_output([mediainfo_cmd, file_path])
            # 解析 XML 输出
            xml_output = output.decode('utf-8')
            xml_output = xml_output.replace('&', '&')
            xml_output = xml_output.replace('<MediaInfo>', '<MediaInfo xmlns="http://mediainfo.sourceforge.net/mediainfo">')
            parsed_output = openpyxl.xml.functions.fromstring(xml_output)
            # 写入 Excel 表格
            row = [parsed_output.findtext(metadata) for metadata in metadata_list]
            worksheet.append(row)

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

使用方法:

  1. 将上面的代码保存为一个 Python 脚本文件,比如 mediainfo_to_excel.py

  2. 修改以下参数:

    • metadata_list:定义需要统计的元数据,可以根据需要修改。
    • folder_path:定义需要统计的文件夹路径。
    • excel_file_name:定义 Excel 文件名。
  3. 在终端中执行以下命令:

    $ python3 mediainfo_to_excel.py
    

    脚本将会自动执行,并在指定的文件夹路径中生成一个 Excel 文件,包含所有视频文件的元数据信息。

Python3 脚本:利用 MediaInfo 统计视频元数据并写入 Excel

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

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