linux

如何在Linux上使用Compton进行屏幕录制

小樊
52
2025-09-22 18:50:16
栏目: 智能运维

Compton的作用与屏幕录制的基本逻辑
Compton是一款主要用于Wayland会话的图形合成器,其核心功能是提供硬件加速的窗口合成(如透明效果、动画流畅度优化),而非专门的屏幕录制工具。若需在Linux上结合Compton实现屏幕录制,需通过Compton优化显示效果,同时借助其他工具(如ffmpeg、OBS Studio)完成录制。

一、准备工作:安装Compton与屏幕录制工具

  1. 安装Compton
    在基于Debian的系统(如Ubuntu)中,通过终端执行以下命令安装Compton:

    sudo apt update && sudo apt install compton
    

    在基于Fedora的系统(如CentOS)中,可使用dnf安装:

    sudo dnf install compton
    
  2. 安装屏幕录制工具
    推荐使用ffmpeg(轻量、灵活,适合命令行操作)或OBS Studio(图形界面、功能全面):

    • 安装ffmpeg:
      sudo apt install ffmpeg  # Debian/Ubuntu
      sudo dnf install ffmpeg  # Fedora/CentOS
      
    • 安装OBS Studio(图形界面):
      sudo apt install obs-studio  # Debian/Ubuntu
      sudo dnf install obs-studio  # Fedora/CentOS
      

二、配置Compton(可选但推荐)
Compton的配置文件通常位于~/.config/compton.conf(若不存在可手动创建)。通过调整配置,可优化录制时的视觉效果(如关闭阴影减少资源占用、调整透明模式):

# 使用GLX作为合成后端(提升性能)
backend = "glx";
# 关闭窗口阴影(减少不必要的渲染负载)
shadow-exclude = [".*"];
# 禁用alpha通道(避免透明效果干扰录制)
alpha-mode = "none";
# 忽略透明窗口的alpha通道
alpha-ignores = [".*"];
# 启用glx快速复制(提升画面更新速度)
glx-copy-from-front = true;
# 不使用模板缓冲区(兼容性更好)
glx-no-stencil = true;

配置完成后,通过以下命令启动Compton(后台运行):

compton -b

若需开机自启动,可创建systemd服务(以root身份执行):

sudo nano /etc/systemd/system/compton.service

添加以下内容(替换为你的Compton路径):

[Unit]
Description=Compton Compositor
After=display-manager.service

[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存后启用并启动服务:

sudo systemctl enable compton.service
sudo systemctl start compton.service

三、使用ffmpeg录制屏幕(命令行方式)
ffmpeg是Linux下常用的屏幕录制工具,结合Compton使用时,需指定正确的输入源(X11显示设备):

ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0+0,0 -c:v libx264 -preset ultrafast -crf 18 -pix_fmt yuv420p output.mp4

参数说明

四、使用OBS Studio录制屏幕(图形界面方式)
若偏好图形界面,可使用OBS Studio:

  1. 打开OBS Studio,点击左侧“+”号添加“显示捕获”或“窗口捕获”源(“显示捕获”录制整个屏幕,“窗口捕获”录制特定应用);
  2. 调整录制设置:在“设置→输出”中,选择“输出模式”为“简单”,设置“录制格式”为mp4,勾选“自动停止录制”(可选,避免文件过大);
  3. 开始录制:点击底部“开始录制”按钮,录制完成后点击“停止录制”即可。

五、停止录制与注意事项

0
看了该问题的人还看了