以下是一个利用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/91B 著作权归作者所有。请勿转载和采集!

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