需要一个python3编写的使用mediainfo统计视频详细info并写入excel的脚本
以下是一个使用mediainfo和openpyxl模块编写的Python脚本,用于从视频文件中提取详细信息并将其写入Excel文件中:
import os
import subprocess
import openpyxl
# 要统计信息的视频文件所在目录
videos_dir = "/path/to/videos/directory"
# 要写入信息的Excel文件名
output_file = "video_info.xlsx"
# 列名
header = ["文件名", "格式", "分辨率", "码率", "帧率", "时长"]
# 初始化Excel文件
wb = openpyxl.Workbook()
ws = wb.active
ws.title = "视频信息"
ws.append(header)
# 遍历视频文件目录
for filename in os.listdir(videos_dir):
if filename.endswith(".mp4") or filename.endswith(".mkv"):
# 使用mediainfo获取视频信息
command = ["mediainfo", "--Output=JSON", os.path.join(videos_dir, filename)]
result = subprocess.run(command, stdout=subprocess.PIPE)
output = result.stdout.decode("utf-8")
info = eval(output)["media"]["track"][0]
# 提取有用信息
file_format = info["format"]
width = info["width"]
height = info["height"]
resolution = f"{width}x{height}"
bitrate = info["bit_rate"]
framerate = info["frame_rate"]
duration = info["duration"]
# 写入Excel文件
row = [filename, file_format, resolution, bitrate, framerate, duration]
ws.append(row)
# 保存Excel文件
wb.save(output_file)
print("视频信息已写入Excel文件!")
在脚本中,我们首先指定要统计信息的视频文件所在目录和要写入信息的Excel文件名。然后,我们使用openpyxl模块创建一个新的Excel文件,并添加一个名为“视频信息”的工作表。接下来,我们遍历视频文件目录,对于每个MP4或MKV文件,使用mediainfo获取其信息,并从结果中提取有用信息。最后,我们将每个视频的信息写入Excel文件的新行中,并保存Excel文件。
请注意,为了使用mediainfo,您需要在系统中安装mediainfo命令行工具。您可以使用以下命令在Ubuntu上进行安装:
sudo apt-get install mediainfo
或者使用以下命令在Mac OS上进行安装:
brew install mediainfo
此外,我们在脚本中使用了eval函数来解析mediainfo的JSON输出。请确保您只运行可信的视频文件,并谨慎使用eval函数。
原文地址: https://www.cveoy.top/t/topic/912 著作权归作者所有。请勿转载和采集!