吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15136|回复: 265
收起左侧

[Windows] 极简版录屏小工具-原创

    [复制链接]
william0712 发表于 2024-9-23 10:47
本帖最后由 william0712 于 2024-9-25 11:04 编辑
       录屏工具保存了一大堆了,弯弯绕绕的功能太多了,眼花撩乱,我只想要一个“开录-保存”就完了,不想看到太多乱七八糟的功能,于是它诞生了“屏幕录制小工具”,python写的,没有过多的功能,只有一个,就是录屏,完了保存MP4,没了。由于真的太小了,请允许我屏取运行截图截大些吧,以下是运行后,在桌面上显示的大小。有改进建议的欢迎提出,如果觉得它对您有那么一丁点用,请给个免费评分,谢了。
QQ截图20240923093207.jpg

0925停更日志:
1.有部份人反馈,发现特殊情况下会引发“NoneType'  object has no attribute 'notify';
2.由于当时设计框架时,想着先录再自主保存,想着也没多大,所以也没创建临时文件的形式去保存帧,把它们全部存在内存当中,录完再存,结果昨天做内存监控时发现,这是个吃内存大户,录得越久就越大;
3.加上不小心把代码全目录都删了,想重新改一下都没法弄了,算了停更吧,哪天要用时,再重头改一个合适的。
4.当然大内存用户用起来还是很快的,毕竟用也还能用,问题不大,感谢各位亲的点赞支持,这里谢过了,撤退了。

0924更新:
1.加入暂停机制;
2.点击开始录制之后自动隐藏;
3.加入快捷键CTRL+2暂停,CTRL+3停止录制并保存;
4.停止录制之后自动恢复主窗口显示。


QQ截图20240923103619.jpg

是那句,火绒查毒无问题,python打包的,360安全卫士可能会报毒,就算代码里只有一条print "Hello world!",它也报毒,无语了,自行选择,360真的是越来越垃圾了
由于涉及了FFMPEG和好几个库,打包出来就60多M了,代码只有95行,下载链接放123盘了,支持浏览器直下。
-----------------------------------------------------------------------------------------------------------------------------------------------------
下载链接:https://www.123684.com/s/EG5A-fg0AH

PY代码如下:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import mss
import mss.tools
import cv2
import numpy as np
import tkinter as tk
from tkinter import messagebox, filedialog
import os
 
# 获取屏幕大小
with mss.mss() as sct:
    screen_size = (sct.monitors[1]['width'], sct.monitors[1]['height'])
 
# 定义编码器
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
 
recording = False
frames = []  # 用于存储录制的帧
output_writer = None
 
 
def start_recording():
    global recording, start_button_text
    if not recording:
        recording = True
        start_button_text.set("录制中")
        record_screen()
 
 
def stop_recording():
    global recording, frames, output_writer, start_button_text
    if recording:
        recording = False
        start_button_text.set("开始录制")
 
        try:
            # 让用户选择保存位置和文件名
            output_file = filedialog.asksaveasfilename(defaultextension=".mp4", filetypes=[("MP4 files", "*.mp4")])
            if not output_file:
                return
 
            if os.path.exists(output_file):
                choice = messagebox.askyesnocancel(
                    "文件已存在",
                    f"文件 {output_file} 已存在,是否覆盖?"
                )
                if choice is None:
                    return
                elif choice == False:
                    return
 
            output_writer = cv2.VideoWriter(output_file, fourcc, 20.0, screen_size)
 
            # 将所有帧写入视频文件
            for frame in frames:
                output_writer.write(frame)
 
            output_writer.release()
            frames.clear()
            messagebox.showinfo("停止", "已停止录制并保存文件。")
        except Exception as e:
            messagebox.showerror("错误", str(e))
        finally:
            output_writer = None
 
 
def record_screen():
    if recording:
        with mss.mss() as sct:
            monitor = {'top': 0, 'left': 0, 'width': screen_size[0], 'height': screen_size[1]}
            img = sct.grab(monitor)
            frame = np.array(img)
            # 确保颜色空间正确
            frame = cv2.cvtColor(frame, cv2.COLOR_BGRA2BGR)
            frames.append(frame)  # 存储每一帧
        root.after(15, record_screen)  # 根据需要调整刷新率
 
 
# 创建GUI
root = tk.Tk()
root.title("屏幕录制小工具 by.KOG丛林")
frame = tk.Frame(root)
frame.pack()
 
# 使用 StringVar 来动态更新按钮上的文本
start_button_text = tk.StringVar(value="开始录制  ")
 
# 开始录制按钮
start_button = tk.Button(frame, textvariable=start_button_text, command=start_recording)
start_button.pack(side=tk.LEFT)
 
# 停止录制按钮
stop_button = tk.Button(frame, text="  停止录制", command=stop_recording)
stop_button.pack(side=tk.LEFT)
 
root.mainloop()

免费评分

参与人数 87吾爱币 +80 热心值 +77 收起 理由
jsongc + 1 + 1 谢谢@Thanks!
lsing + 1 + 1 我很赞同!
阿墨 + 1 谢谢@Thanks!
higzgz + 1 我很赞同!
luoyi437 + 1 谢谢@Thanks!
yox + 1 谢谢@Thanks!
利剑之锋 + 1 + 1 热心回复!
ZYF666 + 1 + 1 谢谢@Thanks!
aaalpaaalp + 1 + 1 热心回复!
Tori97 + 1 热心回复!
heiyue003 + 1 + 1 我很赞同!
xn2103 + 1 + 1 6啊
StoreDS + 1 谢谢@Thanks!
是个俗人 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Taylor20200522 + 1 + 1 热心回复!
rebirthboy + 1 我很赞同!
foreveryyii + 1 + 1 谢谢@Thanks!
wyp858 + 1 + 1 我很赞同!
nakasou + 2 + 1 我很赞同!
Zed丶小灰狼 + 1 + 1 热心回复!
fengyingchun + 1 + 1 谢谢@Thanks!
renshaowei + 1 + 1 热心回复!
liulaoshi1314 + 1 + 1 谢谢@Thanks!
hnyaojie + 1 + 1 有老哥能来转下链接吗?
weidechan + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
自治州制作 + 1 + 1 热心回复!
sblpp + 1 谢谢@Thanks!
mrpizi1221 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lishuofang + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
post927 + 1 + 1 谢谢@Thanks!
yx69 + 1 + 1 我很赞同!
leonsaga + 1 + 1 谢谢@Thanks!
抱薪风雪雾 + 1 + 1 谢谢@Thanks!
xb0wxh + 1 + 1 谢谢@Thanks!
52rap + 1 + 1 谢谢@Thanks!
Pony21 + 1 + 1 热心回复!
canty胖胖 + 1 + 1 用心讨论,共获提升!
jh95wxg + 1 + 1 用心讨论,共获提升!
wuai3456 + 1 + 1 谢谢@Thanks!
koibito2ma + 1 + 1 我很赞同!
策士 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
yiwenji + 1 热心回复!
yxpp + 1 谢谢@Thanks!
chrisdong919 + 1 + 1 我很赞同!
某些人 + 1 + 1 谢谢@Thanks!
NxxzCraft + 1 + 1 谢谢@Thanks!
jokony + 1 + 1 用心讨论,共获提升!
rootcup + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wuya3 + 1 + 1 谢谢@Thanks!
zzdzxx + 1 + 1 谢谢@Thanks!
海盗的骷髅旗 + 1 + 1 谢谢@Thanks!
cpckly + 1 谢谢@Thanks!
long8586 + 1 + 1 谢谢@Thanks!
jikic + 1 + 1 热心回复!
SenseView + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rengui + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zhanglianyun + 1 + 1 热心回复!
tocabd + 1 + 1 谢谢@Thanks!
你好漂亮 + 1 + 1 我很赞同!
Guzhouxingke + 1 + 1 我很赞同!
VIP中P + 1 + 1 谢谢@Thanks!
爱的太迟 + 1 + 1 谢谢@Thanks!
突破1996 + 1 + 1 我很赞同!
huangqiao + 1 + 1 谢谢@Thanks!
woxobo + 1 + 1 谢谢@Thanks!
n99675 + 1 + 1 谢谢@Thanks!
dTb + 1 + 1 谢谢@Thanks!
sjb5201314 + 1 + 1 谢谢@Thanks!
lough_007 + 1 + 1 谢谢@Thanks!
psj736213 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dogox + 1 + 1 我很赞同!
abcbbb007 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
aleewuu + 1 + 1 多谢 下来试试
bin_chb + 1 + 1 谢谢@Thanks!
heiker1986 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tesng + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
山里红数码 + 1 + 1 如果加一个快捷键就完美了,期待更新
flysea163 + 1 + 1 谢谢@Thanks!
yanglinman + 1 谢谢@Thanks!
way824325223 + 1 谢谢@Thanks!
kmshzi + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zHiHz + 1 + 1 我很赞同!
wzs0777 + 1 可否生成GIF格式的啊
wyh21cn + 1 + 1 我很赞同!
sza114514 + 1 + 1 谢谢@Thanks!
myFreefly + 1 + 1 能不能添加下(开启、暂停、停止)快捷键,并且录屏时操作界面自动隐藏。
cux666 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

LUYAJUN 发表于 2024-9-23 13:33
录屏软件的普遍缺点就是无法在开始处做到同步,先先点击录屏点击播放时,录屏还没有开始,先点录屏时,视频还未播放,所以录完后的mp4仍然需要掐头去尾才能满意
lazhou 发表于 2024-9-24 11:27
KO2点了开始录制后,软件没有反应,昨天的KO是好的,请大佬检查修复一下!
 楼主| william0712 发表于 2024-9-25 16:40
古覚 发表于 2024-9-25 11:41
收藏试用,python打包成exe都好大,有方法精简的,忘了

已经在打包时用UPX压缩过了,60多M变成40多M了
 楼主| william0712 发表于 2024-10-7 08:58
wwwxxxddd999 发表于 2024-10-4 08:47
期待楼主更新,快捷键的加入和录屏时隐藏,期待这个软件越来越完善

现在这个就有了
dqjyj 发表于 2024-9-23 10:55
谢谢分享
yt1010306 发表于 2024-9-23 10:55
本帖最后由 yt1010306 于 2024-9-23 10:57 编辑

收藏试用,66M的不极简了,编译的时候能压缩大小吗?
jtui6999 发表于 2024-9-23 11:03
谢谢分享。
良辰、星仔 发表于 2024-9-23 11:06
感谢楼主分享,Python编译的文件都挺大的
天涯心灵 发表于 2024-9-23 11:07
不能启动 启动失败  不知道啥原因啊
cygtheone 发表于 2024-9-23 11:21
哇哈哈哈,这么小
kenxy 发表于 2024-9-23 11:34
感谢楼主分享,如果可以加一个录制和停止快捷键可能会更方便一点
kenxy 发表于 2024-9-23 11:35
加个开始和停止的快捷键更方便使用
zpwz 发表于 2024-9-23 11:37
支持原创,感谢了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-20 06:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表