这是一个操作系统问题,而不是PHP问题,但这里无论如何:
我希望通过ffmpeg
运行shell_exec()
,将上传的视频转换为不同的格式。我想知道在上传多个视频时操作系统如何处理多个ffmpeg
命令。
以下是一些示例代码,使其更加明确:
<?php
$filePath = upload($_FILE['video']); //get filepath from uploaded file
shell_exec('ffmpeg ' . $filePath . ' video.mp4'); //simple ffmpeg conversion
?>
假设操作系统是基于Linux的。
感谢。
答案 0 :(得分:1)
PHP将为每个执行的shell_exec
命令分离一个单独的进程。
将这些工作排队是一个好主意。所以会在后台运行它们,而不是延迟PHP的响应,直到上传和ffmpeg作业都完成。 PHP没有任何内置的方法来执行此操作,但是有许多库,如Gearman,用于管理这样的任务。
对于像视频转换这样的CPU绑定作业,一个好的经验法则是每个物理CPU核心一个进程。