嘿!我想通过 php 脚本手动重启直播。到目前为止一切正常,但是以下命令导致脚本永远加载并且转码不起作用:
nohup openRTSP -v -c rtsp://*****.dyndns.org:665 | ffmpeg -r 5 -f mjpeg -i - http://127.0.0.1:8090/feed1.ffm > /dev/null &
任何想法如何启动该命令,例如不等待输出?
嘿!我想通过 php 脚本手动重启直播。到目前为止一切正常,但是以下命令导致脚本永远加载并且转码不起作用:
nohup openRTSP -v -c rtsp://*****.dyndns.org:665 | ffmpeg -r 5 -f mjpeg -i - http://127.0.0.1:8090/feed1.ffm > /dev/null &
任何想法如何启动该命令,例如不等待输出?
并不是说它一定会解决您的问题,但它应该回答您的问题,可以在“exec”下的 PHP 注释中找到,其中有几个人遇到了类似的情况。
我将本主题中的多项努力合并为一个函数:这将在后台(无 cmd 窗口)执行 $cmd,而无需 PHP 等待它完成,无论是在 Windows 还是 Unix 上。
function execInBackground($cmd) {
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
}