以下是一个使用 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。

使用 Python 和 MediaInfo 提取视频元数据并写入 Excel 表格

原文地址: https://www.cveoy.top/t/topic/mzZO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录