Compton的作用与屏幕录制的关系
Compton是一款主要用于Linux系统的OpenGL合成器,其核心功能是提供硬件加速的窗口合成(如窗口动画、透明度效果),常用于改善Wayland会话的图形性能。Compton本身并不具备屏幕录制功能,若需在Debian系统上实现屏幕录制,需结合ffmpeg等专门工具,通过Compton优化图形渲染后进行录制。
安装Compton
通过Debian官方仓库安装Compton(支持Debian 10及以上版本):
sudo apt update && sudo apt install compton
安装ffmpeg(屏幕录制工具)
ffmpeg是开源的跨平台多媒体处理工具,支持屏幕抓取、视频编码等功能:
sudo apt install ffmpeg
Compton的配置文件通常位于~/.config/compton.conf(用户级)或/etc/compton.conf(系统级)。通过调整配置,可优化屏幕渲染效果,减少录制时的画面卡顿或撕裂:
# 示例配置(可根据需求修改)
backend = "glx"; # 使用GLX后端(支持硬件加速)
glx-no-stencil = true; # 禁用模板缓冲,提升性能
glx-copy-from-front = true; # 允许从前缓冲复制,减少渲染延迟
shadow-exclude = "[class='.*']"; # 排除所有窗口的阴影(避免不必要的渲染)
shadow-opacity = 0.5; # 阴影透明度(0-1,值越小越透明)
配置完成后,保存文件并重启Compton使设置生效。
通过以下命令启动Compton(后台运行,避免占用终端):
compton -b
若需查看Compton的运行状态(如是否正常工作),可添加-v参数(详细模式):
compton -b -v
ffmpeg通过x11grab模块抓取X11屏幕内容,结合Compton优化的渲染输出,实现高质量屏幕录制。以下是常用命令示例:
ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0+0,0 -vcodec libx264 -preset ultrafast -crf 18 -pix_fmt yuv420p output.mp4
参数说明:
-f x11grab:指定输入源为X11屏幕抓取;-r 30:设置录制帧率为30帧/秒(可根据需求调整为25、60等);-s 1920x1080:设置录制分辨率为1920x1080(需与显示器分辨率一致,或调整为所需尺寸);-i :0.0+0,0:指定输入设备(:0.0代表主显示器,+0,0代表左上角坐标,多显示器需调整);-vcodec libx264:使用H.264编码(兼容性好,文件体积小);-preset ultrafast:编码速度优先(可选ultrafast、superfast、veryfast等,速度越快,压缩率越低);-crf 18:恒定质量因子(范围0-51,值越小质量越高,18-28为常用范围);-pix_fmt yuv420p:设置像素格式为yuv420p(兼容大多数播放设备,如手机、电视);output.mp4:输出文件名(可自定义路径和格式,如~/Videos/screen_record.mp4)。Ctrl+C,ffmpeg会停止抓取屏幕并完成视频编码;vlc output.mp4或系统默认播放器打开;-preset调整为superfast或veryfast,避免系统卡顿;-i参数为对应显示器的ID(可通过xrandr命令查看);ffmpeg的-window_id参数(需通过xdotool获取窗口ID)。wayland抓取模块(-f wlgrab),但ffmpeg对Wayland的支持仍在完善中,推荐使用OBS Studio等原生工具。