以下是一个使用 MediaInfo 统计视频信息并写入 Excel 的 Python 脚本,代码中使用了 openpyxl 库来处理 Excel 文件:

import os
import subprocess
from openpyxl import Workbook

# 设置要处理的视频文件夹路径
video_dir = '/path/to/videos'

# 列出视频文件夹下的所有视频文件
video_files = [f for f in os.listdir(video_dir) if os.path.isfile(os.path.join(video_dir, f))]

# 创建一个 Excel 工作簿
wb = Workbook()

# 获取工作簿的活动工作表
ws = wb.active

# 在工作表中添加表头
ws.append(['文件名', '大小', '时长', '尺寸', '比特率', 'FPS'])

# 遍历视频文件列表,逐个处理
for video_file in video_files:
    # 使用 mediainfo 获取视频信息
    output = subprocess.check_output(['mediainfo', '--Output=JSON', os.path.join(video_dir, video_file)])
    
    # 解析 JSON 格式的输出,获取需要的视频信息
    info = {}
    for track in json.loads(output)['media']['track']:
        if track['@type'] == 'General':
            info['size'] = track['FileSize']
            info['duration'] = track['Duration']
        elif track['@type'] == 'Video':
            info['width'] = track['Width']
            info['height'] = track['Height']
            info['bitrate'] = track['BitRate']
            info['fps'] = track['FrameRate']
    
    # 将视频信息写入工作表中
    ws.append([video_file, info.get('size', ''), info.get('duration', ''), '{}x{}'.format(info.get('width', ''), info.get('height', '')), info.get('bitrate', ''), info.get('fps', '')])

# 保存 Excel 文件
wb.save('video_info.xlsx')

在运行脚本之前,需要确保已经安装了 MediaInfo 和 openpyxl 库。可以使用以下命令进行安装:

sudo apt-get install mediainfo
pip install openpyxl

脚本将会在运行完成后生成一个名为video_info.xlsx的 Excel 文件,其中包含了视频文件夹下所有视频文件的信息。如果需要修改输出文件名或视频文件夹路径,可以修改代码中的相应变量。

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

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

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