以下是一个使用 pymediainfo 库统计视频所有信息并写入 excel 的 Python3 脚本:

import os
import mediainfo
import xlsxwriter

def get_video_info(filename):
    '获取视频信息'
    media_info = mediainfo.MediaInfo.parse(filename)
    video_info = {}
    for track in media_info.tracks:
        if track.track_type == 'General':
            video_info['File Name'] = os.path.basename(filename)
            video_info['File Size'] = track.file_size
            video_info['Duration'] = track.duration
            video_info['Bitrate'] = track.overall_bit_rate
            video_info['Format'] = track.format
            video_info['Codec ID'] = track.codec_id
            video_info['Frame Rate'] = track.frame_rate
            video_info['Width'] = track.width
            video_info['Height'] = track.height
        elif track.track_type == 'Video':
            video_info['Video Codec'] = track.codec_id
            video_info['Video Bitrate'] = track.bit_rate
            video_info['Video Frame Rate'] = track.frame_rate
            video_info['Video Width'] = track.width
            video_info['Video Height'] = track.height
        elif track.track_type == 'Audio':
            audio_info = {}
            audio_info['Audio Codec'] = track.codec_id
            audio_info['Audio Bitrate'] = track.bit_rate
            audio_info['Audio Channels'] = track.channel_s
            audio_info['Audio Sampling Rate'] = track.sampling_rate
            audio_info['Audio Language'] = track.language
            video_info['Audio Track {}'.format(track.track_id)] = audio_info
    return video_info

def write_to_excel(video_info, excel_file):
    '将视频信息写入 Excel 文件'
    workbook = xlsxwriter.Workbook(excel_file)
    worksheet = workbook.add_worksheet()
    
    row = 0
    col = 0
    for key, value in video_info.items():
        worksheet.write(row, col, key)
        col += 1
        if isinstance(value, dict):
            for sub_key, sub_value in value.items():
                worksheet.write(row, col, sub_key)
                worksheet.write(row + 1, col, sub_value)
                col += 1
        else:
            worksheet.write(row, col, str(value))
        row += 1
        col = 0
    
    workbook.close()

if __name__ == '__main__':
    filename = 'test.mp4'
    excel_file = 'video_info.xlsx'
    video_info = get_video_info(filename)
    write_to_excel(video_info, excel_file)

在上面的代码中,我们首先使用 mediainfo 库解析视频文件并获取其所有信息,然后将这些信息存储在一个字典中。接着,我们使用 xlsxwriter 库创建一个新的 Excel 文件,并将视频信息写入该文件中。最后,我们将 Excel 文件保存到指定的位置。

Python3 使用 pymediainfo 库统计视频信息并写入 Excel 的脚本

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

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