温馨提示×

CentOS如何通过Compton实现屏幕录制

小樊
40
2026-01-02 09:15:34
栏目: 智能运维

Compton与屏幕录制的关系与定位

  • ComptonX11 下的窗口合成器,职责是窗口合成、阴影、透明度等视觉特效,本身不具备视频捕获能力,不能直接用于屏幕录制。若你的目标是录制桌面画面,应使用专门的录制工具;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 会话再按上述方法录制。

0