以下是一个使用 pymediainfo 库统计所有 info 并写入 excel 的 Python 脚本示例:

import os
import xlsxwriter
from pymediainfo import MediaInfo

# 设置要读取的视频文件夹路径
video_folder_path = '/path/to/video/folder'

# 创建 Excel 工作簿和工作表
workbook = xlsxwriter.Workbook('video_info.xlsx')
worksheet = workbook.add_worksheet()

# 设置 Excel 表头
worksheet.write(0, 0, '文件名')
worksheet.write(0, 1, '格式')
worksheet.write(0, 2, '时长')
worksheet.write(0, 3, '视频编码')
worksheet.write(0, 4, '视频分辨率')
worksheet.write(0, 5, '视频比特率')
worksheet.write(0, 6, '音频编码')
worksheet.write(0, 7, '音频比特率')
worksheet.write(0, 8, '音频采样率')
worksheet.write(0, 9, '音频声道数')

# 遍历视频文件夹中的所有视频文件
for i, filename in enumerate(os.listdir(video_folder_path)):
    if filename.endswith('.mp4') or filename.endswith('.avi'):

        # 使用 pymediainfo 库获取视频信息
        media_info = MediaInfo.parse(os.path.join(video_folder_path, filename))

        # 提取所有 info
        info_dict = {}
        for track in media_info.tracks:
            for key in track.__dict__:
                if not key.startswith('_'):
                    info_dict[key] = track.__dict__[key]

        # 将 info 写入 Excel 表格中
        worksheet.write(i+1, 0, filename)
        worksheet.write(i+1, 1, info_dict.get('format'))
        worksheet.write(i+1, 2, round(info_dict.get('duration') / 1000))
        worksheet.write(i+1, 3, info_dict.get('video_codec'))
        worksheet.write(i+1, 4, f'{info_dict.get('width')}x{info_dict.get('height')}')
        worksheet.write(i+1, 5, f'{info_dict.get('bitrate')} bps')
        worksheet.write(i+1, 6, info_dict.get('audio_codec'))
        worksheet.write(i+1, 7, f'{info_dict.get('audio_bitrate')} bps')
        worksheet.write(i+1, 8, f'{info_dict.get('audio_sampling_rate')} Hz')
        worksheet.write(i+1, 9, info_dict.get('audio_channels'))

# 关闭 Excel 工作簿
workbook.close()

使用此脚本,您可以将视频文件夹中的所有视频信息提取到一个 Excel 文件中。请注意,此脚本仅限于 MP4 和 AVI 格式的视频文件。如果您需要处理其他格式的视频文件,请根据需要进行修改。

Python 脚本使用 PyMediaInfo 库统计视频信息并写入 Excel

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

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