这是一个使用 Python 3 编写的脚本,利用 pymediainfoav 库统计视频元数据并将其写入 Excel 文件。在运行脚本之前,需要先安装 pymediainfoopenpyxl 库。

import os
import openpyxl
from pymediainfo import MediaInfo
import av

# 获取视频元数据
def get_metadata(file_path):
    media_info = MediaInfo.parse(file_path)
    for track in media_info.tracks:
        if track.track_type == 'Video':
            width = track.width
            height = track.height
            frame_rate = track.frame_rate
            duration = track.duration
            codec = track.codec
            return {'width': width, 'height': height, 'frame_rate': frame_rate, 'duration': duration, 'codec': codec}

# 将元数据写入 Excel 文件中
def write_to_excel(file_path, metadata):
    wb = openpyxl.Workbook()
    sheet = wb.active
    sheet['A1'] = '文件名'
    sheet['B1'] = '视频宽度'
    sheet['C1'] = '视频高度'
    sheet['D1'] = '帧率'
    sheet['E1'] = '时长'
    sheet['F1'] = '编解码器'
    sheet['A2'] = os.path.basename(file_path)
    sheet['B2'] = metadata['width']
    sheet['C2'] = metadata['height']
    sheet['D2'] = metadata['frame_rate']
    sheet['E2'] = metadata['duration']
    sheet['F2'] = metadata['codec']
    wb.save('metadata.xlsx')

# 主函数
def main():
    file_path = 'example.mp4'
    metadata = get_metadata(file_path)
    write_to_excel(file_path, metadata)

if __name__ == '__main__':
    main()

在这个例子中,我们首先定义了一个 get_metadata 函数来获取视频元数据。我们使用 pymediainfo 库解析视频文件并遍历所有轨道,如果找到了视频轨道,我们就返回包含元数据的字典。

接下来,我们定义了一个 write_to_excel 函数,它接收文件路径和元数据字典作为参数。我们使用 openpyxl 库创建一个新的 Excel 工作簿,并将元数据写入第二行。

最后,在主函数中,我们调用 get_metadata 函数来获取视频元数据,并调用 write_to_excel 函数将其写入 Excel 文件中。在这个例子中,我们使用了一个名为 example.mp4 的视频文件。你可以将其替换为你自己的视频文件路径。

请注意,这个例子只统计了单个视频文件的元数据。如果你需要统计多个视频文件的元数据,你需要在 main 函数中编写适当的逻辑来遍历所有视频文件。

Python 3 脚本:利用 pymediainfo 和 av 库统计视频元数据并写入 Excel

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

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