以下是一个实现你所需功能的Python3脚本,使用了pymediainfo库和openpyxl库。

import os
from pymediainfo import MediaInfo
from openpyxl import Workbook

def get_video_info(filename):
    media_info = MediaInfo.parse(filename)
    video_track = media_info.tracks[0]
    audio_track = media_info.tracks[1]
    duration = int(float(video_track.duration) / 1000)
    size = os.path.getsize(filename) / 1024 / 1024 / 1024
    bitrate = int(video_track.bit_rate / 1000)
    fps = round(float(video_track.frame_rate), 2)
    width = video_track.width
    height = video_track.height
    audio_codec = audio_track.format
    audio_bitrate = int(audio_track.bit_rate / 1000)
    audio_channels = audio_track.channel_s
    audio_sampling_rate = int(audio_track.sampling_rate / 1000)
    return duration, size, bitrate, fps, width, height, audio_codec, audio_bitrate, audio_channels, audio_sampling_rate

def write_to_excel(filename, data):
    wb = Workbook()
    ws = wb.active
    ws.append(['文件名', '时长(秒)', '大小(GiB)', '比特率(kb/s)', 'FPS', '宽度', '高度', '音频编码', '音频比特率(kb/s)', '音频通道数', '音频采样率(kHz)'])
    for row in data:
        ws.append(row)
    wb.save(filename)

if __name__ == '__main__':
    folder_path = 'your_folder_path'
    excel_filename = 'video_info.xlsx'
    data = []
    for filename in os.listdir(folder_path):
        if filename.endswith('.mp4') or filename.endswith('.mov'):
            file_path = os.path.join(folder_path, filename)
            duration, size, bitrate, fps, width, height, audio_codec, audio_bitrate, audio_channels, audio_sampling_rate = get_video_info(file_path)
            data.append([filename, duration, size, bitrate, fps, width, height, audio_codec, audio_bitrate, audio_channels, audio_sampling_rate])
    write_to_excel(excel_filename, data)

你需要修改以下变量:

  • folder_path:需要统计的视频所在的文件夹路径
  • excel_filename:统计结果写入的Excel文件名

在脚本运行结束后,你将得到一个Excel文件,其中包含了所有视频的信息。

我需要一个python3编写的利用pymediainfo库统计视频大小gib单位、时长小时分钟秒、比特率kbs单位、fps取小数点后两位、宽度、高度音频元数据等所有信息并写入excel的脚本

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

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