【发布时间】:2012-08-03 15:06:12
【问题描述】:
我曾尝试通过 PHP 脚本使用 ffmpeg 进行编码,但该过程在某个点冻结。当通过 Windows 中的命令行运行相同的命令时,它的编码很好。
我尝试了不同的视频,这些视频没有损坏,也没有使用任何奇特的编解码器或任何东西。
从脚本(即 PHP 中的 exec())运行时进程冻结但直接从命令行运行时冻结的原因可能是什么?有什么建议吗?
【问题讨论】:
我曾尝试通过 PHP 脚本使用 ffmpeg 进行编码,但该过程在某个点冻结。当通过 Windows 中的命令行运行相同的命令时,它的编码很好。
我尝试了不同的视频,这些视频没有损坏,也没有使用任何奇特的编解码器或任何东西。
从脚本(即 PHP 中的 exec())运行时进程冻结但直接从命令行运行时冻结的原因可能是什么?有什么建议吗?
【问题讨论】:
我也遇到过类似的问题。对我来说,我的网络服务器有一个最长的执行时间。
对于 IIS (web.config):
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
对于其他服务器google一下
maximum execution time <webservername>
【讨论】:
我认为这与管道有关。即,FFmpeg 输出重定向到一个永远不会被另一个进程耗尽的管道,因此 FFmpeg/PHP 进程阻塞。
一些问题:
【讨论】: