一个简单易用的Windows录屏软件,具有图形用户界面。
| 版本 | 文件 | 功能 |
|---|---|---|
| 基础版 | screen_recorder.py |
屏幕录制 |
| Pro版 | screen_recorder_pro.py |
屏幕录制 + 音频 + 摄像头画中画 + 窗口捕获 + 实时预览 |
- 全屏或自定义区域录制
- 可调节帧率(10-60 FPS)
- 多种视频编码格式支持(MP4, AVI)
- 实时录制进度显示
- 简洁直观的用户界面
- 自动生成带时间戳的文件名
- 包含基础版所有功能
- 三种捕获模式
- 全屏录制
- 自定义区域 — 拖拽选择屏幕任意区域
- 窗口捕获 — 从打开的窗口列表中选择特定窗口,支持裁剪子区域
- 麦克风音频录制(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.pyPro版:
python screen_recorder_pro.py运行 start.bat,选择选项 [3] 自动安装所有依赖。
基础版:
pip install PyQt6 mss opencv-python numpy PillowPro版(需要额外安装):
pip install pyaudio moviepy一键安装所有依赖:
pip install -r requirements.txt- 选择保存文件夹:点击"Browse..."选择保存视频的文件夹
- 选择捕获模式:
- Full Screen — 录制整个屏幕
- Custom Region — 拖拽选择屏幕区域
- Window Capture — 从下拉列表选择特定窗口(点击 Refresh 刷新列表)
- 裁剪区域(可选):在 Custom Region 或 Window Capture 模式下,点击"Select Region"选择子区域
- 勾选音频:勾选"Record Audio (Microphone)"启用麦克风录制
- 启用摄像头:勾选"Enable Webcam Overlay"启用画中画人像叠加
- 选择画中画位置和大小:从下拉菜单选择位置,设置宽度
- 预览摄像头:点击"Preview Webcam"确认摄像头画面正常
- 开始录制:点击"Start Recording",右侧面板实时预览录制画面
- 停止录制:点击"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 | 无损压缩,文件较大 | 高质量需求 |
| 分辨率 | 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 pyaudioMoviePy安装失败:
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