我正在使用以下代码在 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/