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

import os
import sys
import csv
from pymediainfo import MediaInfo

def get_video_info(video_path):
    media_info = MediaInfo.parse(video_path)
    video_info = {}
    for track in media_info.tracks:
        if track.track_type == 'Video':
            video_info['duration'] = track.duration
            video_info['width'] = track.width
            video_info['height'] = track.height
            video_info['frame_rate'] = track.frame_rate
            video_info['codec'] = track.codec
            video_info['bit_rate'] = track.bit_rate
            break
    return video_info

def write_to_csv(file_path, video_info):
    header = ['File Name', 'Duration', 'Width', 'Height', 'Frame Rate', 'Codec', 'Bit Rate']
    if not os.path.exists(file_path):
        with open(file_path, 'w', newline='') as csvfile:
            writer = csv.writer(csvfile)
            writer.writerow(header)
    with open(file_path, 'a', newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow([os.path.basename(video_path), video_info['duration'], video_info['width'], video_info['height'], video_info['frame_rate'], video_info['codec'], video_info['bit_rate']])

if __name__ == '__main__':
    input_path = sys.argv[1] # 从命令行参数获取输入路径
    output_path = sys.argv[2] # 从命令行参数获取输出路径
    for file_name in os.listdir(input_path):
        if file_name.endswith('.mp4'): # 可以自行修改为其他视频格式
            video_path = os.path.join(input_path, file_name)
            video_info = get_video_info(video_path)
            write_to_csv(output_path, video_info)

该脚本接受两个命令行参数,第一个参数为输入视频所在文件夹路径,第二个参数为输出 CSV 文件的路径。脚本会遍历输入文件夹中所有的 .mp4 文件,获取它们的视频信息,然后将这些信息写入 CSV 文件中。

使用方法示例:

python3 video_info.py /path/to/input/folder /path/to/output/file.csv

注意:在运行脚本前需要先安装 pymediainfo 库,可以使用以下命令进行安装:

pip3 install pymediainfo
Python 脚本使用 pymediainfo 库获取视频信息并写入 Excel

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

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