以下是一个简单的Python 3脚本,使用pymediainfo和av库来统计视频元数据并将其写入Excel文件中。在运行脚本之前,需要先安装pymediainfo和openpyxl库。

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函数中编写适当的逻辑来遍历所有视频文件。

我需要一个python3编写的利用pymediainfo和av库统计视频元数据并写入excel的脚本

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

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