Python 脚本使用 MediaInfo 统计视频信息并写入 Excel
以下是一个使用 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 文件,其中包含了视频文件夹下所有视频文件的信息。如果需要修改输出文件名或视频文件夹路径,可以修改代码中的相应变量。
原文地址: https://www.cveoy.top/t/topic/mzZQ 著作权归作者所有。请勿转载和采集!