Python 脚本使用 pymediainfo 库获取视频信息并写入 Excel
以下是一个使用 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
原文地址: https://www.cveoy.top/t/topic/mz0V 著作权归作者所有。请勿转载和采集!