Skip to content

garrisonz/screen_record

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

屏幕录制程序

这是一个使用 ffmpeg 的屏幕录制程序,具有以下特性:

功能特点

  1. 持续录制: 启动后一直录制屏幕
  2. 自动保存: 程序退出时自动保存为视频文件
  3. 1分钟录制: 始终只保留最近1分钟的视频内容
  4. 智能管理: 自动管理临时文件,无需手动清理
  5. 简单高效: 避免复杂的多片段管理,直接保存最后1分钟内容

系统要求

  • Linux 系统(支持 X11)
  • Python 3.6+
  • ffmpeg

安装依赖

安装 ffmpeg

Ubuntu/Debian:

sudo apt update
sudo apt install ffmpeg

CentOS/RHEL:

sudo yum install ffmpeg
# 或者
sudo dnf install ffmpeg

使用方法

方法1: 直接运行

# 使用默认设置(30秒片段,2个片段)
python3 screen_recorder.py

# 使用自定义参数
python3 screen_recorder.py -d 15 -s 3    # 15秒片段,保存3个
python3 screen_recorder.py -d 60 -s 1    # 60秒片段,保存1个
python3 screen_recorder.py -d 30 -s 5    # 30秒片段,保存5个

方法2: 使用启动脚本

chmod +x start_recording.sh

# 使用默认设置(30秒片段,2个片段)
./start_recording.sh

# 使用自定义参数
./start_recording.sh 15 3    # 15秒片段,保存3个
./start_recording.sh 60 1    # 60秒片段,保存1个
./start_recording.sh 30 5    # 30秒片段,保存5个

操作说明

  1. 运行程序后,会自动开始录制屏幕
  2. 程序会显示录制状态和片段信息
  3. Ctrl+C 停止录制
  4. 程序会自动保存最近1分钟的录制内容为最终视频文件
  5. 视频文件保存在 ~/Videos/ 目录中,文件名格式:screen_recording_YYYYMMDD_HHMMSS.mp4

录制机制说明

  • 持续录制: 程序会持续录制1分钟的视频内容
  • 循环覆盖: 每1分钟自动覆盖之前的录制内容
  • 退出保存: 停止时保存当前1分钟的录制内容
  • 存储优化: 始终只保存1分钟内容,节省磁盘空间

录制参数

  • 分辨率: 2560x1440(27寸主显示器,可在代码中修改)
  • 帧率: 30 FPS
  • 编码: H.264
  • 质量: CRF 23
  • 片段长度: 30秒(默认,可通过 -d 参数调整)
  • 片段数量: 2个(默认,可通过 -s 参数调整)
  • 最大保存时间: 60秒(2个30秒片段)

自定义设置

您可以在 screen_recorder.py 中修改以下参数:

# 分辨率(27寸主显示器)
'-s', '2560x1440',

# 帧率
'-r', '30',

# 质量 (0-51, 越小质量越好)
'-crf', '23',

# 片段时长(秒)- 可通过命令行参数设置
# 默认30秒,使用 -d 参数调整

# 最大片段数量(2个片段)
self.max_segments = 2

命令行参数

  • -d, --duration N: 设置每个片段的时长(秒),默认30秒
  • -s, --segments N: 设置最多保存的片段数量,默认2个
  • --help-params: 显示参数说明

使用示例

# 查看参数帮助
python3 screen_recorder.py --help-params

# 不同参数组合的使用
python3 screen_recorder.py -d 15 -s 3    # 15秒片段,保存3个
python3 screen_recorder.py -d 30 -s 2    # 30秒片段,保存2个(默认)
python3 screen_recorder.py -d 60 -s 1    # 60秒片段,保存1个
python3 screen_recorder.py -d 10 -s 5    # 10秒片段,保存5个(总共50秒)

注意事项

  1. 确保您的系统支持 X11 图形界面
  2. 录制过程中会占用一定的 CPU 和磁盘空间
  3. 程序会自动管理临时文件,退出时会清理
  4. 录制的视频文件会自动保存到 ~/Videos/ 目录中
  5. 如果录制失败,请检查 ffmpeg 是否正确安装

故障排除

常见问题

  1. "未找到 ffmpeg"错误

    • 确保已正确安装 ffmpeg
    • 检查 ffmpeg 是否在系统 PATH 中
  2. 录制失败

    • 检查显示器设置
    • 确保有足够的磁盘空间
    • 检查权限设置
  3. 程序启动后立即退出

    • 运行 python3 test_recorder.py 检查环境
    • 确保在图形界面环境中运行
    • 检查 X11 权限设置
  4. 视频质量不佳

    • 调整 CRF 值(更小的值 = 更好的质量)
    • 调整分辨率设置

测试环境

运行环境测试脚本:

python3 test_recorder.py

如果所有测试通过,说明环境配置正确。

许可证

本项目采用 MIT 许可证。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published