Python脚本使用mediainfo统计视频信息并写入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/mzZl 著作权归作者所有。请勿转载和采集!