* 未能打开 vchiq 实例
Posted
技术标签:
【中文标题】* 未能打开 vchiq 实例【英文标题】:* failed to open vchiq instance 【发布时间】:2017-03-03 16:24:04 【问题描述】:我尝试通过音频插孔将声音从 php 脚本播放到我的树莓派 3。我在 php 脚本中使用了以下代码:
<?php
$fetch = 'wget "http://192.168.1.127/sound.mp3" -O sound.mp3 --no-check-certificate';
$play = 'omxplayer -o local sound.mp3';
echo shell_exec($fetch);
echo shell_exec("sudo chown upload sound.mp3");
echo shell_exec($play);
?>
我从本地 IP 地址获取文件并将其保存到 pi。然后我通过omxplayer
命令播放声音。在真正的 shell 上(通过 Putty 中的 SSH),Pi 将毫无问题地输出声音。当我尝试脚本时,我在使用 omxplayer command
时收到以下错误消息。
* failed to open vchiq instance
然后我在论坛中搜索了此错误。他们的意思是这将是缺少文件权限的东西。为此,我将整个目录设置为权限级别 777,并将文件所有者(如您在脚本中看到的)设置为 upload
。
很遗憾,这不起作用。有没有人有另一种解决方案来从 pi 中获取输出?
感谢您的每一个回复。
【问题讨论】:
【参考方案1】:Omxplayer 是一个视频和音频播放器。您的用户需要在 video
组中,即使您只想播放音频。
不要在/dev/vchiq
上使用777
模式,因为它不安全!更好的解决方案是将您的用户添加到名为video
的系统组中。例如:
要将 Linux 系统中的用户 testuser
添加到 video
组,请使用以下命令:
usermod -aG video testuser
【讨论】:
这应该是 usermod -aG video testuser 否则 testuser 将被从其他组中删除【参考方案2】:在我再次搜索之后,我终于找到了解决该问题的方法。问题在于/dev
中的目录。我在命令行中点击了以下命令,效果很好。
sudo chmod 777 /dev/vchiq
【讨论】:
非常感谢它为我节省了很多 与其在系统范围内进行更改,不如针对特定用户进行更改。 sudo usermod -a -G 视频用户名。这个答案可以在这个地方找到,比如这里:raspberrypi.stackexchange.com/questions/19436/… /dev/vchiq 的“777”模式是安全漏洞!特别是在使用摄像机时使用它很重要。使用“视频”组代替适当的用户。 不要这样做,它允许任何系统用户对设备进行写访问,如上调整个人用户设置【参考方案3】:实际上很多用户都被带到了这个问题,因为他们尝试了raspistill
并返回了这个错误。
无论如何,错误通常是因为您忘记添加sudo
,所以sudo raspistill -o output.jpg
应该可以工作。
【讨论】:
以上是关于* 未能打开 vchiq 实例的主要内容,如果未能解决你的问题,请参考以下文章
未能获取 FirebaseDatabase 实例。在 FirebaseApp 中指定 DatabaseURL
GCP Cloud SQL 未能删除实例,因为 `deletion_protection` 设置为 true
未能获取默认 Firebase 数据库实例。必须调用`[FIRApp 配置]