首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cpulimit和PHP减少FFmpeg CPU的使用

使用cpulimit和PHP减少FFmpeg CPU的使用
EN

Stack Overflow用户
提问于 2017-03-30 19:58:26
回答 2查看 2.1K关注 0票数 0

我使用PHPexec()在服务器上运行FFmpeg

它目前在编码时使用100%的cpu线程。

我跟踪了这格德,它使用一个名为库普兰的程序将其减少到30%。

代码语言:javascript
复制
$args = "nice -19 cpulimit -l 30 -- ffmpeg -y -i intput.avi -vcodec libx264 -acodec aac -b:a 192k -threads 1 output.mp4"
exec(escapeshellcmd($args));

FFmpeg/PHP工作,它将通过终端与nice/cpulimit一起工作,但在添加之后

nice -19 cpulimit -l 30 --exec()脚本,它不再与exec()一起工作。

输出

FFmpeg输出返回空白。我无法看到完整的输出,我尝试使用:

代码语言:javascript
复制
$output = shell_exec($args);
echo "<p>$output</p>"

代码语言:javascript
复制
file_put_contents("/var/www/mysite/logs/$output.log", $line . PHP_EOL, FILE_APPEND);

但他们会返回1条空行。

溶液

我的想法是,www-data运行FFmpeg和nice/cpulimit可能需要根?

我怎样才能让PHP和exec()与FFmpeg args和cpulimit一起工作?

或者是否有其他方法来限制使用率%?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-31 01:24:36

我在这个论坛上找到了答案,用谷歌翻译。

https://murobbs.muropaketti.com/threads/nice-komento-ja-php-n-exec-funktio-ratkaistu.551174/

如果使用FFmpeg或cpulimit,则定义到cpulimit的路径

代码语言:javascript
复制
nice -19 cpulimit -l 30 /usr/local/bin/ffmpeg -i ...

现在,它通过PHP工作。

票数 0
EN

Stack Overflow用户

发布于 2017-03-30 23:54:46

如果启用了safemode,则程序的执行是有限的。查看这里的文档,http://php.net/manual/en/function.exec.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43127243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档