间隔采样视频的代码

项目统计模型准确率

项目会保存大量视频,为了统计模型的精度,我们想要十五分钟抽取一个视频用来统计。

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
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你不接受本协议,请立即停止使用本软件,如果你继续使用本软件将被视为已接受了协议。 本软件不含有任何旨在破坏用户计算机数据的代码, 不得对本“软件”进行反向工程、反向汇编、反向编译等; 不得利用本“软件”发表、传送、传播、储存违反国家法律、危害国家安全、祖国统一、社会稳定、公序良俗的内容,或任何不当的、侮辱诽谤的、淫秽的、暴力的及任何违反国家法律法规政策的内容。 不得利用本“软件”发表、传送、传播、储存侵害他人知识产权、商业秘密权,影视作品权,个人隐私权等合法权利的内容; 在xp_sp1上安装高清屏幕录像机需先安装.NET Framework 1.1 运行库,然后运行”安装卸载.exe“。 使用百度搜索“.NET Framework 1.1”可以找到.NET Framework 1.1的下载地址。 在xp_sp2,xp_sp3,vista,win7上安装高清屏幕录像机可直接运行”安装卸载.exe“。 安装过程需要读写注册表注册filter,如果不允许读写注册表,就不能安装成功。 本软件在win98,win2000,win2003可能出错,请不要在win98,win2000,win2003上安装使用。 屏幕录像机可以录制屏幕,摄像头,纯音频,生成avi文件。 屏幕录像机输出的视频图像宽度高度为被捕获屏幕的实际宽度高度,视频采用MPEG-4压缩,当选择高图像质量时,清晰度和被捕获屏幕一样。 当选择不同的视频帧率、图像质量、屏幕分辨率时,生成的avi文件大小为每分钟1M-10M。 可以录制游戏,电影,声音画面完全同步,帧率最高达到每秒25帧,即电影帧率。 生成的avi文件可使用通用播放器播放。 选项卡功能: 1,图像质量:该选项决定编码器的编码压缩比,生成的视频文件的图像质量和文件大小。 2,视频帧率:该选项决定图像采样时间间隔,生成的视频图像的连续程度和视频文件大小。当您的计算机性能不够时,选择高或很高帧率时,会造成丢帧。 3,延时:使用延时功能时,首先最小化自己,开始计时,计时到达开始录像。 依次按下"jieshusx"停止录像并显示自己。当延时零秒时,不开启延时功能。 开启定时功能时,开始录像后计时,到达定时,结束录像。当定时并最小化自己时,到达定时,结束录像,关闭程序。 4,视频来源:该选项决定图像源,是视频捕捉还是摄像头,当有多个摄像头时,选定的项为视频输入端。当您的摄像头型号比较旧, 有可能声音画面不同步,请更新摄像头驱动。当选择无图像时,录制为纯声音,约每分钟300K。 5,声音来源:该选项决定声音源,是话筒输入,还是计算机播放的声音作为输入源,当录像时不需要录制声音时,可设置成关闭声音输入。 6,DxDraw:该选项可以开启或关闭系统的directdraw加速,一般情况下该选项为开启。当不能捕获屏幕上播放的视频时,可以先选择关闭DxDraw,再播放视频,即可捕获。当屏幕录像机关闭时,自动恢复系统的directdraw加速设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值