0

我曾尝试通过 PHP 脚本使用 ffmpeg 进行编码,但该过程在某个点冻结。当通过 Windows 中的命令行运行相同的命令时,它的编码就很好。

我尝试了不同的视频,它们没有损坏,也没有使用任何异国情调的编解码器或任何东西。

当从脚本(即 PHP 中的 exec() )运行时进程冻结但直接从命令行运行时不会冻结的原因可能是什么?有小费吗?

4

2 回答 2

1

我有一个类似的问题。对我来说,我的网络服务器有最长的执行时间。

对于 IIS (web.config):

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

对于其他服务器谷歌关于

maximum execution time <webservername>
于 2014-08-12T08:54:33.177 回答
0

我认为这与管道有关。即,FFmpeg 输出重定向到一个永远不会被另一个进程耗尽的管道,因此 FFmpeg/PHP 进程阻塞。

一些问题:

  • 您正在通过 Windows 控制台测试命令行;PHP 是否也在 Windows 环境中运行?
  • PHP 转码过程是否显示任何 CPU 使用情况?它是最大化 CPU 还是根本不显示?
  • exec() 调用到底是什么样的?
于 2012-08-04T00:43:02.610 回答