Я установил FFMPEG на окнах. Я добавил его в мою переменную пути. Я могу получить доступ к ffmpeg в командной строке независимо от того, в какой папке я нахожусь (что говорит мне, что ffmpeg + переменная пути работает так, как ожидалось).
PHP
exec('ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1', $output);
$output = implode(' -|- ', $output);
var_dump($output);
var_dump
'ffmpeg' is not recognized as an internal or external command, -|- operable program or batch file.
когда я копирую точно такой же коммандос (ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1
) в моей командной строке это работает отлично. Независимо от местоположения папки.
Нужно ли предпринимать дополнительные / разные шаги для того, чтобы PHP мог найти ffmpeg
?
Не могли бы вы попробовать использовать константу, определенную PHP
DIRECTORY_SEPARATOR
вместо / ?
Кроме того, вы должны использовать полный путь к вашей программе ffmpeg.exe, если ее нет в вашем% PATH%, например:
'C:' . DIRECTORY_SEPARATOR . 'Program Files' . DIRECTORY_SEPARATOR . 'ffmpeg' . DIRECTORY_SEPARATOR . 'bin'. DIRECTORY_SEPARATOR . 'ffmpeg.exe'
Других решений пока нет …