Python自动覆盖录屏软件——NIRE工作室开源软件(参数自动校正)(欢迎白嫖)

复调录屏软件

版本号:0.1.1 Alpha
发行时间:2021年02月11日
发布方:NIRE工作室
开发者:Nire_Yeyu

一、软件描述

  • 目标群体:软件开发工程师、测试工程师、工程实施人员、软件购置方
  • 软件功能:依照设定自动覆盖过期录屏文件
  • 使用场景:相关人群在使用或测试软件过程中,可能发现软件异常,但不易描述或记录具体问题现象和自己的操作过程。从而导致研发人员在Bug修复过程中,需要耗费大量时间与精力在问题的复现上。通过复调录屏软件即第三方软件(以下称:本软件),用户可以24小时不间断录屏,一旦超过预设时间,将自动覆盖过期视频,从而保证占用较小磁盘空间。以此减少研发、测试、工程等互相推卸责任的现象,降低软件维护成本,提高工作效率
  • 关键字: 录屏、覆盖过期文件、工作效率

二、程序流程

Python自动覆盖录屏软件——NIRE工作室开源软件(参数自动校正)(欢迎白嫖)_第1张图片

2.1 参数设置

  • 本软件有两个文件:配置文件 与 代码文件
  • 单个文件录制时间、保留文件个数由用户在配置文件中自行设置,而视频的FPS由本软件自动设置

2.2 录制的视频播放速度过快问题

  • 不少尝试用Python录屏的开发者都会遇到这个问题,假设录制时长为10秒,录制结束后,用播放器不到5秒就放完了,而且播放速度明显过快。
  • 这种播放过快或过慢的现象,是由于FPS设置不恰当造成的。
  • 本软件会在初始化过程中自动设置适合当前机器的FPS,并在录制一段时间后进行自动校正,从而保证录屏效果。

2.3 结束条件

  • 软件在运行时,会开启键盘监听事件,一旦检测到用户按下ESC,软件会停止运行。建议用户用ESC结束程序,不要直接点击右上角的×关闭,否则录制的视屏没有进行释放操作,会出现异常现象。

三、配置文件

config.ini

[screen]
fps = 7.0
bk = 3
time = 10

四、源文件

VideoCut.py

# 复调录屏软件 : 持续迭代近期数据的录屏软件

# Copyright (c) 2021 NIRE工作室

# 在此免费授予任何获得软件和相关文件副本(“软件”)的开发者,无限制经营软件的权利
# 权利包括但不限于使用、复制、修改、合并、发布、分发、转授和/或出售软件副本

# 但软件使用者必须遵守以下条件:

# 上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。

# 本软件是"按现样"提供,并无任何形式的保证,亦无任何形式的表达或暗示
# 包括但不局限于对可销售性、达到特定目的的适合性的保证。
# 不论是特殊、偶然或任何情况之下,NIRE工作室概不负任何责任。

"""
复调录屏软件通过Python3.7进行开发

使用复调录屏软件,您可以轻松地在各种平台上录制音频。
并且通过配置文件,设置保留视频的时长以及保留的视频个数
从而达到持续录屏,但节省空间,保留重要信息的目的

复调录屏软件的设计灵感来自:

日常测试软件过程中,需要记录操作过程及崩溃现象
如果长时间开启市面上现有的录屏软件会导致视频文件过大
并且在长视频中不易提取有效信息

关键字:

持续录屏、节省空间
"""

__author__  = "Nire_Yeyu"
__mail__    = "[email protected]"
__version__ = "0.1.1 Alpha"
__date__    = "2021.02.10"

# coding: utf-8

import os
import time
import threading
import configparser as cp
from datetime import datetime
# 尝试添加第三方库
try:
    import cv2
    import numpy as np
    from PIL import ImageGrab
    from pynput import keyboard
except ImportError:
    print("初始化失败:缺少依赖库")
    raise


class FileMgt(object):
    """
    文件管理类:
        通过此类实现对配置文件的读写,以及相关文件、文件夹的管控
    """

    def __init__(self):
        self.current = os.getcwd()                                      # 程序所在路径
        self.screen_record_path = os.path.join(self.current, "video")   # 存放视频文件的文件夹路径
        self.config_path = ".\\config.ini"                              # 配置文件路径
        self.video_path = ""                                            # 视频文件路径
        self.fps = 7                                                    # 帧率
        self.n_screen_record = 3                                        # 保留文件数量
        self.video_time = 300                                           # 单个文件录制时长(单位:秒)
        self.create_folder()                                            # 创建文件夹

    def create_folder(self):
        """创建文件夹"""
        try:
            if not os.path.exists(self.screen_record_path):
                os.mkdir(self.screen_record_path)
        except:
            print("错误:文件夹创建异常")
            return False

    def make_file_path(self):
        """依据当前时间获取欲录制视频路径"""
        now = str(datetime.now())[:19

你可能感兴趣的:(计算机视觉,Python,录屏,开源,python,opencv,源码)