Skip to content

CacinieP/PyRecorder

Repository files navigation

PyRecorder

一个简单易用的Windows录屏软件,具有图形用户界面。

版本说明

版本 文件 功能
基础版 screen_recorder.py 屏幕录制
Pro版 screen_recorder_pro.py 屏幕录制 + 音频 + 摄像头画中画 + 窗口捕获 + 实时预览

功能特点

基础版

  • 全屏或自定义区域录制
  • 可调节帧率(10-60 FPS)
  • 多种视频编码格式支持(MP4, AVI)
  • 实时录制进度显示
  • 简洁直观的用户界面
  • 自动生成带时间戳的文件名

Pro版

  • 包含基础版所有功能
  • 三种捕获模式
    • 全屏录制
    • 自定义区域 — 拖拽选择屏幕任意区域
    • 窗口捕获 — 从打开的窗口列表中选择特定窗口,支持裁剪子区域
  • 麦克风音频录制(44.1kHz 立体声)
  • 音视频自动同步合并
  • 摄像头画中画叠加 — 录屏同时录制人像,适合教学演示
    • 支持4个画中画位置(左上/右上/左下/右下)
    • 可调节画中画窗口大小(100-640px)
    • 摄像头实时预览功能
  • 实时录制预览 — 录制过程中右侧面板实时显示画面
  • 录制时长无限制
  • 完善的错误处理机制

快速开始

方式一:使用启动脚本(推荐)

双击 start.bat 即可运行,脚本会自动检测环境并提供菜单选项:

===============================================================
              PyRecorder - Windows Screen Recorder
                       Version 2.0.0
                       MIT License
===============================================================

[OK] Python 3.x.x installed
[OK] pip ready

Select version to run:
  [1] Basic (Screen recording only)
  [2] Pro   (Screen + Audio + Webcam + Window capture)
  [3] Install/Update dependencies
  [4] Project info
  [0] Exit

方式二:命令行运行

基础版:

python screen_recorder.py

Pro版:

python screen_recorder_pro.py

安装

自动安装

运行 start.bat,选择选项 [3] 自动安装所有依赖。

手动安装

基础版:

pip install PyQt6 mss opencv-python numpy Pillow

Pro版(需要额外安装):

pip install pyaudio moviepy

一键安装所有依赖:

pip install -r requirements.txt

使用方法

操作步骤

  1. 选择保存文件夹:点击"Browse..."选择保存视频的文件夹
  2. 选择捕获模式
    • Full Screen — 录制整个屏幕
    • Custom Region — 拖拽选择屏幕区域
    • Window Capture — 从下拉列表选择特定窗口(点击 Refresh 刷新列表)
  3. 裁剪区域(可选):在 Custom Region 或 Window Capture 模式下,点击"Select Region"选择子区域
  4. 勾选音频:勾选"Record Audio (Microphone)"启用麦克风录制
  5. 启用摄像头:勾选"Enable Webcam Overlay"启用画中画人像叠加
  6. 选择画中画位置和大小:从下拉菜单选择位置,设置宽度
  7. 预览摄像头:点击"Preview Webcam"确认摄像头画面正常
  8. 开始录制:点击"Start Recording",右侧面板实时预览录制画面
  9. 停止录制:点击"Stop Recording"保存视频

教学录屏推荐设置

设置项 推荐值 说明
Capture Window Capture 选择教学软件窗口
Record Audio 开启 录制讲解语音
Webcam Overlay 开启 录制人像画中画
Position Bottom-Right 右下角不影响内容
Size 240 px 不遮挡主要内容
FPS 30 教学视频无需高帧率
Codec mp4v 兼容性最好

文件命名

录制完成后,视频会自动保存为:

recording_YYYYMMDD_HHMMSS.mp4
例如:recording_20250211_143052.mp4

视频编码格式说明

格式 特点 推荐用途
mp4v MP4格式,兼容性好 日常录制
XVID 压缩率高,文件较小 长时间录制
MJPG 无损压缩,文件较大 高质量需求

性能要求

CPU占用参考

分辨率 FPS 音频 摄像头 CPU占用
1920x1080 30 15-25%
1920x1080 30 25-40%
1920x1080 60 40-60%
2560x1440 30 35-55%
窗口捕获 (小窗口) 30 15-30%

录制时长

限制因素 说明
磁盘空间 ~100MB/分钟(1080p@30fps),1TB ≈ 160小时
内存占用 稳定,不随录制时间增长
帧数限制 无限制

系统要求

  • Windows 10/11
  • Python 3.8+
  • 至少2GB可用内存
  • 麦克风(音频录制需要,可选)
  • 摄像头(画中画功能需要,可选)

快捷键

  • ESC: 取消区域选择

注意事项

  • 录制高帧率会占用更多CPU和内存
  • 保存视频前请确保磁盘空间充足
  • Pro版首次录制时会下载ffmpeg,可能需要几秒钟
  • 麦克风/摄像头权限需要在Windows设置中允许
  • 摄像头不可用时自动跳过画中画,不影响正常录屏
  • Window Capture 模式在开始录制时捕获窗口位置,录制中移动窗口不影响已捕获区域

故障排除

依赖安装失败

PyAudio安装失败:

pip install pipwin
pipwin install pyaudio

MoviePy安装失败:

pip install --upgrade imageio
python -m imageio_download_bin

录制问题

问题 解决方案
程序无法启动 检查Python版本是否≥3.8
无法录制音频 检查麦克风权限和设备
视频无声音 确保勾选了"Record Audio"选项
摄像头画面不显示 检查摄像头连接和权限设置
Preview Webcam打开黑屏 其他程序可能占用了摄像头,关闭后重试
窗口列表为空 点击 Refresh 刷新,确保有可见窗口
窗口捕获画面不对 重新选择窗口或使用 Custom Region 手动选择
CPU占用过高 降低帧率或使用 Window Capture 只录小窗口
视频文件过大 选择XVID编码格式

技术架构

┌──────────────────────────────────────────────────────────┐
│                  PyRecorder GUI (PyQt6)                   │
│              ┌──────────┬───────────────────┐            │
│              │ Settings │   Live Preview    │            │
│              │  Panel   │     Panel         │            │
│              └──────────┴───────────────────┘            │
├──────────────────────────────────────────────────────────┤
│                   录制线程 (QThread)                       │
├─────────────┬──────────────┬─────────────────────────────┤
│ mss         │ OpenCV       │ PyAudio                     │
│ 屏幕/窗口   │ 摄像头捕获   │ 音频捕获                    │
│ 区域捕获    │              │                             │
├─────────────┴──────────────┴─────────────────────────────┤
│         numpy 画中画叠加 + OpenCV 视频编码                │
├──────────────────────────────────────────────────────────┤
│         MoviePy 音视频合并 (Pro版)                        │
└──────────────────────────────────────────────────────────┘

许可证

MIT License

GitHub

https://github.com/CacinieP/PyRecorder

About

Probably the simplest Screen Recorder on Windows with Python only.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors