- 首页 >
- 问答 >
-
智能运维 >
- CentOS如何通过Compton实现屏幕录制
CentOS如何通过Compton实现屏幕录制
小樊
40
2026-01-02 09:15:34
Compton与屏幕录制的关系与定位
- Compton 是 X11 下的窗口合成器,职责是窗口合成、阴影、透明度等视觉特效,本身不具备视频捕获能力,不能直接用于屏幕录制。若你的目标是录制桌面画面,应使用专门的录制工具;Compton 只影响录制的视觉呈现(如透明、阴影是否被合成器处理)。在 Wayland 会话中,Compton 通常也不适用,录制方案与 X11 不同。
在 CentOS 上的可行录制方案
- ffmpeg + x11grab(X11 推荐)
- 安装:sudo yum install -y ffmpeg
- 录制全屏:ffmpeg -y -f x11grab -s $(xdpyinfo | grep dimensions | awk ‘{print $2}’) -r 25 -i :0.0 -c:v libx264 -preset fast -pix_fmt yuv420p out.mp4
- 录制指定区域:ffmpeg -y -f x11grab -r 25 -i :0.0+100,200 -s 1280x720 -c:v libx264 -preset fast -pix_fmt yuv420p region.mp4
- 仅录声音(PulseAudio):ffmpeg -y -f pulse -i default -t 10 audio.wav
- 同时录屏+声音:ffmpeg -y -f x11grab -s $(xdpyinfo | grep dimensions | awk ‘{print $2}’) -r 25 -i :0.0 -f pulse -i default -c:v libx264 -preset fast -pix_fmt yuv420p -c:a aac out.mp4
- GNOME 自带(若使用 GNOME 桌面)
- 快捷键:Ctrl + Alt + Shift + R 开始/停止;录制的 WebM 默认保存在用户视频目录。
- 终端会话回放(非视频,适合教学/审计)
- 录制:script -t 2> timing.log -a session.txt
- 回放:scriptreplay timing.log session.txt(无声音、体积极小,便于分享与复盘)。
Compton 的配置与录制效果优化
- 安装与启用(X11 场景)
- 安装:sudo yum install -y compton
- 配置文件:~/.config/compton.conf(若不存在可创建)
- 启动:compton -c ~/.config/compton.conf
- 开机自启(示例 systemd 用户服务):创建文件 ~/.config/systemd/user/compton.service,内容:
- [Unit] Description=Compton Compositor After=graphical-session.target
- [Service] ExecStart=/usr/bin/compton -c %h/.config/compton.conf Restart=on-failure
- [Install] WantedBy=default.target
- 启用:systemctl --user enable --now compton.service
- 与录制相关的常用配置要点(示例)
- backend = “glx”(或尝试 “xrender” 视显卡/驱动而定)
- vsync = true(减少撕裂,录屏更平滑)
- 多显示器:确保 xrandr 输出正确;录制时可用 -i :0.0+, 精确捕获目标显示器/区域
- 若录制出现黑屏/撕裂/性能问题,可在 compton.conf 中调整 backend、vsync、glx-swap-method、shadow 等参数并重启 Compton 测试。
常见问题与排查
- 找不到录制源或区域不对:确认在 X11 会话;用 xrandr 检查显示器布局;必要时用 -i :0.0+, 指定偏移。
- 画面撕裂或卡顿:在 Compton 中开启 vsync,并尝试不同的 backend(glx/xrender);降低录制分辨率或帧率(如从 30/60 降到 25/15)。
- 没有声音:确认应用/系统声音走 PulseAudio,在 ffmpeg 中使用 -f pulse -i default;或在 GNOME 录屏中检查声音输入源。
- 在 Wayland 会话:Compton 不适用,请使用对应桌面/会话的专用录屏工具(如 GNOME 屏幕录制、KDE 录屏等),或切换到 Xorg 会话再按上述方法录制。