赞
踩
项目会保存大量视频,为了统计模型的精度,我们想要十五分钟抽取一个视频用来统计。
import os import shutil from datetime import datetime, timedelta #抽取视频的代码,会在每个小时的0分、15分、30分、45分取一个命名中有h264的视频 # 源文件夹路径 source_folder = 'E:/59test/8a7b1e1bd47d4e7fbe4fd122322/' # 目标文件夹路径 target_folder = 'E:/59test/test' # 获取源文件夹中的所有文件 files = os.listdir(source_folder) # 用于记录已保存的时间点 saved_timepoints = set() # 遍历文件 for file in files: # 检查文件是否为mp4文件,并且文件名中包含"h264" if file.endswith('.mp4') and 'h264' in file: file_path = os.path.join(source_folder, file) # 获取文件的修改时间 modification_time = datetime.fromtimestamp(os.path.getmtime(file_path)) # 检查文件大小是否大于200KB if os.path.getsize(file_path) > 200 * 1024: # 检查是否满足每个小时的0分、15分、30分、45分的条件 if modification_time.minute in [0, 15, 30, 45]: # 构造时间点的字符串表示 timepoint = modification_time.strftime('%Y-%m-%d %H:%M') # 检查当前时间点是否已保存过视频 if timepoint not in saved_timepoints: # 构造目标文件夹中的子文件夹路径 subfolder_path = os.path.join(target_folder, modification_time.strftime('%Y-%m-%d')) # 如果子文件夹不存在,则创建子文件夹 if not os.path.exists(subfolder_path): os.makedirs(subfolder_path) # 构造目标文件路径 target_file_path = os.path.join(subfolder_path, file) # 将文件复制到目标文件夹,并保留元数据 shutil.copy2(file_path, target_file_path) # 将当前时间点添加到已保存的时间点集合中 saved_timepoints.add(timepoint) # 结束当前时间点的循环,继续处理下一个时间点的视频文件 continue
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。