Работает везде отлично! Я использую FFMPEG и с моим проектом PHP. Наиболее распространенные проблемы:
- Не использовать двойные кавычки (").
- Неправильная адресация.
Прежде всего, проверьте ваш путь, лучше обратиться к вашему файлу из корневого каталога, как это /user/foo/bar.mp3
и сделать то же самое для вашего вывода.
$input_file = "/user/foo/bar.mp3";
$output_file = "/user/foo/out.mp3";
shell_exec("ffmpeg -i \"{$input_file}\" \"{$output_file}\");
Кстати, существует проблема с веб-приложениями. Когда вы используете FFMPEG в своем PHP-проекте, вы можете получить ошибку timeout
, потому что обработка занимает слишком много времени.
Я бы посоветовал вам использовать следующий скрипт: он выполняет команды командной строки в фоновом режиме
function Execute($CMD)
{
$OS = strtoupper(PHP_OS_FAMILY);
if ($OS == 'WINDOWS') {
return pclose(popen("start /B {$CMD}", "r"));
} else {
return shell_exec("{$CMD} > /dev/null 2>/dev/null &");
}
}