需要一个python3编写的使用mediainfo统计视频大小、时长、尺寸、比特率、fps等info信息并写入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/92C 著作权归作者所有。请勿转载和采集!