我需要一个python3编写的利用pymediainfo库统计视频信息并写入excel的脚本
以下是一个利用pymediainfo库统计视频信息并写入excel的python3脚本,你可以根据自己的需求进行修改:
import os
import sys
import csv
from pymediainfo import MediaInfo
def get_video_info(file_path):
media_info = MediaInfo.parse(file_path)
duration = media_info.tracks[0].duration / 1000.0
width = media_info.tracks[1].width
height = media_info.tracks[1].height
codec = media_info.tracks[1].codec
return duration, width, height, codec
def write_to_csv(video_path, duration, width, height, codec, csv_path):
with open(csv_path, mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([os.path.basename(video_path), duration, width, height, codec])
if __name__ == '__main__':
if len(sys.argv) < 3:
print('Usage: python3 video_info.py [video_dir] [csv_file]')
sys.exit()
video_dir = sys.argv[1]
csv_file = sys.argv[2]
with open(csv_file, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['File Name', 'Duration (s)', 'Width', 'Height', 'Codec'])
for root, dirs, files in os.walk(video_dir):
for file in files:
if file.endswith('.mp4') or file.endswith('.avi') or file.endswith('.mov'):
video_path = os.path.join(root, file)
duration, width, height, codec = get_video_info(video_path)
write_to_csv(video_path, duration, width, height, codec, csv_file)
print('Done')
在命令行中运行该脚本,需要指定视频文件夹和输出csv文件的路径:
python3 video_info.py /path/to/video/dir /path/to/output.csv
该脚本会遍历视频文件夹下的所有mp4、avi和mov文件,利用pymediainfo库获取视频的时长、分辨率和编解码器信息,并将这些信息写入到输出csv文件中。
原文地址: https://www.cveoy.top/t/topic/90O 著作权归作者所有。请勿转载和采集!