php在windows中执行exec时挂起

标签 php video ffmpeg

我正在使用以下代码在 Windows 中使用 ffmpeg 从 php 转换视频

<?php

exec('ffmpeg -i input.mp4 -ar 22050 -ab 32k -r 25 -s 480x360 -vcodec h264 -qscale 2.5      output.flv');

?>

转换脚本挂起直到转换完成。

我能做些什么呢?这样它就可以在后台运行

最佳答案

如果您的系统是 Linux,我只需在命令末尾添加“&”即可完成任务。

exec('ffmpeg -i input.mp4 -ar 22050 -ab 32k -r 25 -s 480x360 -vcodec h264 -qscale 2.5 output.flv &');

或者更彻底(即即使 apache 死了,文件仍然会被转码):
exec('bash -c "exec nohup setsid ffmpeg -i input.mp4 -ar 22050 -ab 32k -r 25 -s 480x360 -vcodec h264 -qscale 2.5 output.flv > /dev/null 2>&1 &"')

您不必在 Windows 上调用 ffmpeg.exe 吗?

关于php在windows中执行exec时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289784/

相关文章:

javascript - 如何将 data-id 变量从模式传递到 php 页面

javascript - 在 React 中实现硬重载

ios - 如何使用 GPUImage 或其他库在 iOS 上创建 VHS 效果

windows - FFMPEG 帧到 DirectX 表面硬件加速

linux - 有没有办法使用ffmpeg控制关键帧的提取

php - Laravel 4.2 查询生成器无法正常工作

ios - 合并视频但 AVAssetExportSession 从未完成

video - ffmpeg : "Error setting profile"; how to keep original resolution odf odd sized videos; getting Quicktime compatible output; fixing pixel format

video - 我可以使用 ffmpeg 调整视频文件的时间线吗?

php - 数据表Js : Search not working for JOIN table result