You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Raspbian系统FFmpeg屏幕录制参数及x11grab报错解决

树莓派FFmpeg屏幕录制解决方案

问题原因

你遇到的x11grab无法打开显示的错误,通常是两种情况:

  • 当前桌面环境是Wayland(Raspberry Pi OS Bookworm及以上默认),而x11grab仅支持X11协议;
  • X11环境下当前用户没有访问显示设备的权限。

分场景解决方案

场景1:Wayland桌面环境

方法A:使用帧缓冲设备(fbdev)

无需依赖桌面协议,直接读取树莓派的帧缓冲,轻量且通用:

  1. 先添加用户权限(避免权限报错):
sudo usermod -aG video $USER
  1. 重新登录后执行录屏命令(带硬件加速,降低CPU占用):
ffmpeg -f fbdev -framerate 25 -i /dev/fb0 -c:v h264_v4l2m2m -crf 23 output.mp4
  • -framerate 25:设置帧率,可根据需求调整为30;
  • -c:v h264_v4l2m2m:调用树莓派硬件H.264编码器,避免CPU过载;
  • -crf 23:控制视频质量,数值越小质量越高(建议20-28)。

方法B:使用PipeWire输入(适配Wayland原生)

需要先安装PipeWire相关组件:

sudo apt update && sudo apt install pipewire libpipewire-0.3-0

执行录屏命令:

ffmpeg -f pipewire -framerate 25 -video_size 1920x1080 -i pipewire://desktop output.mp4
  • 可通过pw-cli list-objects命令查看具体的屏幕设备名称,替换pipewire://desktop。

场景2:X11桌面环境(旧版Raspberry Pi OS)

  1. 先赋予当前用户X11显示访问权限:
xhost +local:
export DISPLAY=:0
  1. 执行带硬件加速的录屏命令:
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0 -c:v h264_v4l2m2m -crf 23 output.mp4
  • 若需录制指定区域,将-i :0.0改为-i :0.0+100,200(代表从屏幕左上角偏移100x200的位置开始录制)。

内容的提问来源于stack exchange,提问作者njamescouk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 23:48:11