Hubble-Pi程序点击拍摄触发PiCameraMMALError资源不足报错(RPI4)
报错根因
你遇到的PiCameraMMALError: Failed to enable component: Out of resources报错是树莓派摄像头调用时GPU显存不足、摄像头被其他进程占用或配置未正确开启导致的MMAL硬件组件启动失败,可按以下步骤依次排查解决:
解决方案
- 调整GPU显存分配
2GB版树莓派4默认给GPU分配的显存通常不足以支撑高分辨率天文拍摄,按以下操作调整:
终端执行命令sudo raspi-config打开系统配置工具,依次选择「性能选项」→「GPU显存」,将数值修改为128以上,若你使用的摄像头分辨率高于1080P建议调整为256,保存设置后重启树莓派。 - 排查摄像头进程占用
先确认没有其他后台程序占用摄像头资源:
终端执行sudo lsof /dev/video0,如果有输出结果,说明存在占用摄像头的进程,记下进程PID后执行sudo kill -9 对应PID即可释放资源,也可直接重启树莓派清空所有占用进程后单独运行程序测试。 - 验证摄像头基础配置
先确认摄像头功能已经正常启用:
打开raspi-config配置工具,依次选择「接口选项」→「摄像头」,选择启用后重启设备。随后执行官方测试命令raspistill -o test.jpg,如果能正常拍摄生成照片即可排除硬件故障和基础配置问题。 - 降低程序拍摄分辨率
若以上步骤都无效,可简单修改程序参数降低资源占用:
打开/home/pi/AstroCameraApp/PythonScripts/AstroCam.py文件,找到DynamicCaptureResolution变量的定义位置,将原本的分辨率数值调小(比如从4032x3040改为1920x1080),保存后重新运行程序即可。
内容的提问来源于stack exchange,提问作者sirfressh
相关产品推荐
相关产品推荐

