使用 Python 和 MediaInfo 提取视频元数据并写入 Excel 表格
以下是一个使用 Python 3 和 mediainfo 库编写的脚本,用于从视频文件中提取元数据并将其写入 Excel 表格中。
import os
import sys
import csv
import mediainfo
def get_video_metadata(file_path):
'获取视频文件的元数据'
media_info = mediainfo.MediaInfo.parse(file_path)
track = media_info.tracks[0]
duration = track.duration
width = track.width
height = track.height
frame_rate = track.frame_rate
codec = track.codec
bitrate = track.bit_rate
return (duration, width, height, frame_rate, codec, bitrate)
def write_to_excel(file_path, metadata):
'将元数据写入 Excel 表格'
if not os.path.isfile(file_path):
with open(file_path, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['File Name', 'Duration', 'Width', 'Height', 'Frame Rate', 'Codec', 'Bitrate'])
with open(file_path, 'a', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow([os.path.basename(metadata[0]), metadata[1], metadata[2], metadata[3], metadata[4], metadata[5], metadata[6]])
if __name__ == '__main__':
if len(sys.argv) != 3:
print('Usage: python3 metadata.py <input_dir> <output_file>')
sys.exit(1)
input_dir = sys.argv[1]
output_file = sys.argv[2]
for root, dirs, files in os.walk(input_dir):
for file in files:
if file.endswith('.mp4'):
file_path = os.path.join(root, file)
metadata = get_video_metadata(file_path)
write_to_excel(output_file, metadata)
脚本接受两个参数:输入目录和输出 Excel 文件的路径。它将遍历输入目录中的所有 .mp4 文件,并使用 mediainfo 库从每个文件中提取元数据。然后,它将元数据写入输出 Excel 文件中的新行中。如果输出 Excel 文件不存在,则脚本将创建一个新的 Excel 文件并添加标题行。
注意,为了运行此脚本,您需要安装 mediainfo 库,可以使用以下命令在终端中安装:
pip install mediainfo
此外,您需要在脚本中指定正确的 Excel 文件扩展名,例如 .csv 或 .xlsx。
原文地址: https://www.cveoy.top/t/topic/mzZO 著作权归作者所有。请勿转载和采集!