Debian 下使用 Compton 环境的屏幕录制指南
前置说明
- Compton 是 X11 的窗口合成器,只负责合成与渲染,不提供录屏功能。屏幕录制应通过 FFmpeg 的 x11grab、或其他录屏工具完成。若你使用 Wayland,x11grab 将不可用,需改用相应 Wayland 方案(如 wf-recorder)。在继续前,请确认会话类型为 Xorg(echo $XDG_SESSION_TYPE)。Compton 的安装与基本使用可参考下述资料。
方法一 FFmpeg x11grab 命令行录屏(推荐)
- 安装 FFmpeg
- sudo apt update && sudo apt install ffmpeg
- 获取分辨率与偏移
- 查看分辨率:xrandr(如 1920x1080),或 xdpyinfo | grep ‘dimensions:’
- 如需录制屏幕某区域,确定偏移坐标(例如左上角为 +0,0,或根据显示器布局设置 +X,+Y)
- 常用录制命令
- 全屏录制(无音频)
- ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0+0,0 -c:v libx264rgb -crf 0 -preset ultrafast output.mkv
- 全屏录制(含音频,PulseAudio)
- ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0+0,0 -f pulse -ac 2 -i default -c:v libx264rgb -crf 0 -preset ultrafast output.mkv
- 指定区域录制(示例:宽 1024、高 768、偏移 +100,+200)
- ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 output.mp4
- 播放测试
- ffplay output.mkv 或 ffplay output.mp4
- 提示
- 需要更高压缩/兼容性时,可将 -c:v 换为 libx264 并调整 -crf 18–28;需要更快编码可改用 ultrafast/veryfast。
- 若遇到音频设备名不同,请将 pulse 的 -i 参数替换为你的实际设备(如 0、default 或其他可用声卡)。
方法二 图形化录屏工具
- gtk-recordMyDesktop(简单易用)
- 安装:sudo apt install gtk-recordmydesktop
- 使用:选择全屏或窗口区域,设置视频质量/是否录音,点击录制,结束后自动保存为 .ogv。如需转码可用 mencoder/ffmpeg 转为 mp4/avi。
常见问题与排查
- 录屏黑屏或抓取异常
- 某些合成器/特效与 x11grab 有兼容性问题。可临时在 Compton 配置中关闭相关特性(如阴影、模糊、vsync、或改用 backend “xrender”)以验证;必要时重启 Compton 后再录。排查时可用 compton --log-level debug 查看日志。
- 找不到音频设备或无声
- 在 PulseAudio 环境下优先使用 -f pulse -i default;若使用 ALSA,改为 -f alsa -i hw:0(或你的声卡编号)。可用 pactl list sources/sinks 检查设备名。
- 性能与画质
- 追求低开销:降低分辨率/帧率、使用 ultrafast;追求画质:提高分辨率/帧率、使用 libx264 并调低 -crf。录制光标需确保 FFmpeg 版本支持(多数现代版本默认支持)。