以下是一个 Python 3 脚本,使用 pymediainfo 库统计视频所有信息并将其写入 Excel:

import os
import sys
import csv
import datetime
import pymediainfo

def get_video_info(video_file):
    'Get video information using pymediainfo library'
    media_info = pymediainfo.MediaInfo.parse(video_file)
    video_track = media_info.video_tracks[0]
    audio_track = media_info.audio_tracks[0]
    duration = datetime.timedelta(milliseconds=video_track.duration)
    return {
        'file_name': os.path.basename(video_file),
        'file_path': os.path.abspath(video_file),
        'duration': str(duration),
        'bit_rate': video_track.bit_rate,
        'frame_rate': video_track.frame_rate,
        'codec': video_track.codec,
        'codec_profile': video_track.codec_profile,
        'width': video_track.width,
        'height': video_track.height,
        'audio_codec': audio_track.codec,
        'audio_channels': audio_track.channel_s,
        'audio_sample_rate': audio_track.sampling_rate,
    }

def write_to_csv(video_files, output_file):
    'Write video information to CSV file'
    with open(output_file, 'w', newline='') as csv_file:
        fieldnames = [
            'file_name',
            'file_path',
            'duration',
            'bit_rate',
            'frame_rate',
            'codec',
            'codec_profile',
            'width',
            'height',
            'audio_codec',
            'audio_channels',
            'audio_sample_rate',
        ]
        writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
        writer.writeheader()
        for video_file in video_files:
            video_info = get_video_info(video_file)
            writer.writerow(video_info)

if __name__ == '__main__':
    if len(sys.argv) < 3:
        print('Usage: python video_info.py <input_dir> <output_file>')
        sys.exit(1)
    input_dir = sys.argv[1]
    output_file = sys.argv[2]
    video_files = [os.path.join(input_dir, f) for f in os.listdir(input_dir) if f.endswith(('.mp4', '.avi', '.mkv'))]
    write_to_csv(video_files, output_file)

使用方法:

  1. 安装 pymediainfo 库:pip install pymediainfo
  2. 执行脚本,指定输入目录和输出文件:python video_info.py /path/to/input_dir /path/to/output_file.csv

脚本将统计输入目录中所有扩展名为'.mp4'、'.avi' 或 '.mkv' 的视频文件的信息,并将其写入输出文件的 CSV 格式中。输出文件包括以下列:文件名、文件路径、持续时间、比特率、帧率、视频编解码器、视频编解码器配置文件、宽度、高度、音频编解码器、音频通道数和音频采样率。

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

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

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