Python 脚本:使用 pymediainfo 库获取视频信息并写入 Excel
以下是一个使用 Python 3 和 pymediainfo 库获取视频信息并写入 Excel 文件的脚本:
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)
使用说明:
- 确保你已经安装了
pymediainfo和openpyxl库。你可以使用以下命令安装它们:
pip install pymediainfo openpyxl
- 修改脚本中的以下两个变量:
folder_path: 需要统计的视频所在的文件夹路径excel_filename: 统计结果写入的 Excel 文件名
- 运行脚本。
脚本运行结束后,你将得到一个 Excel 文件,其中包含了所有视频的信息。
代码解析:
-
get_video_info函数使用pymediainfo库解析视频文件并提取相关信息,例如大小、时长、比特率、FPS、尺寸、音频元数据等。 -
write_to_excel函数使用openpyxl库将提取的信息写入 Excel 文件。 -
主程序遍历指定的文件夹,查找所有
.mp4和.mov格式的视频文件,并调用get_video_info函数获取信息,最后调用write_to_excel函数将信息写入 Excel 文件。
本脚本提供了一个方便的工具来提取视频信息并写入 Excel 文件,可以帮助你更好地管理和分析视频文件。
原文地址: http://www.cveoy.top/t/topic/mzYJ 著作权归作者所有。请勿转载和采集!