使用PHP在Raspberry上进行远程VLC

时间:2020-01-26 10:13:15

标签: php bash raspberry-pi vlc

我有一个带有远程VLC的树莓派。 VLC这样启动:

cvlc --force-dolby-surround --play-and-exit --loop --volume-step 256 -I rc --rc-host 192.168.1.10:1250

我想与此VLC实例进行交互,例如更改音量。 在腻子终端上,如果我发送以下命令,则一切正常:

$ echo "volume 80" | nc 192.168.1.10 1250 > /dev/null 2>&1 &

我需要指定> /dev/null 2>&1 &,否则VLC提示将保持焦点。我不知道这可能是我问题的根本原因!

在PHP页面中,我尝试运行此代码:

<?php
exec('echo "volume 80" | nc 192.168.1.10 1250 > /dev/null 2>&1 &', $output, $return);
var_dump($output);
var_dump($return);
?>

命令已正确执行,但是$output$return为空。我认为这是正常的,因为如上所述,我指定了> /dev/null 2>&1 &,如果我未指定此参数,则VLC提示会一直保持焦点,并且我的PHP页面正在无休止地运行...

在第二种情况下,我需要从VLC远程获取信息。

$ echo "status" | nc 192.168.1.10 1250

所以我一定不要加> /dev/null 2>&1 &,因为我想退货!但是在那种情况下,PHP会无限运行:

<?php
exec('echo "status" | nc 192.168.1.10 1250', $output, $return);
var_dump($output);
var_dump($return);
?>

$output$return变量中没有任何信息。

0 个答案:

没有答案