我需要一个python3编写的利用pymediainfo库统计视频元数据并写入excel的脚本
以下是一个使用pymediainfo库统计视频元数据并将结果写入excel的Python脚本示例:
import os
import csv
import datetime
from pymediainfo import MediaInfo
def get_video_metadata(video_path):
media_info = MediaInfo.parse(video_path)
video_data = {}
for track in media_info.tracks:
if track.track_type == 'General':
video_data['file_name'] = os.path.basename(video_path)
video_data['duration'] = str(datetime.timedelta(milliseconds=track.duration))
video_data['file_size'] = track.file_size
video_data['format'] = track.format
video_data['bit_rate'] = track.overall_bit_rate
elif track.track_type == 'Video':
video_data['video_codec'] = track.codec_id
video_data['width'] = track.width
video_data['height'] = track.height
video_data['frame_rate'] = track.frame_rate
elif track.track_type == 'Audio':
video_data['audio_codec'] = track.codec_id
video_data['audio_channels'] = track.channel_s
video_data['audio_bit_rate'] = track.bit_rate
return video_data
def write_to_excel(data, output_path):
with open(output_path, 'w', newline='') as outfile:
writer = csv.writer(outfile)
writer.writerow(['File Name', 'Duration', 'File Size', 'Format', 'Bit Rate', 'Video Codec', 'Width', 'Height', 'Frame Rate', 'Audio Codec', 'Audio Channels', 'Audio Bit Rate'])
for video in data:
writer.writerow([video['file_name'], video['duration'], video['file_size'], video['format'], video['bit_rate'], video['video_codec'], video['width'], video['height'], video['frame_rate'], video['audio_codec'], video['audio_channels'], video['audio_bit_rate']])
print("Data written to excel file successfully!")
def main():
input_path = 'path/to/video/folder'
output_path = 'output_file.csv'
data = []
for file in os.listdir(input_path):
if file.endswith('.mp4') or file.endswith('.mov'):
video_data = get_video_metadata(os.path.join(input_path, file))
data.append(video_data)
write_to_excel(data, output_path)
if __name__ == '__main__':
main()
这个脚本会读取指定文件夹中的所有.mp4和.mov文件,并使用get_video_metadata函数获取每个文件的元数据。然后,它会将元数据写入一个CSV文件,该文件可以在Excel中打开。请注意,输出文件将覆盖任何现有的同名文件。如果需要,可以更改输出文件名和路径。
原文地址: https://www.cveoy.top/t/topic/90P 著作权归作者所有。请勿转载和采集!