shell_exec возвращает нулевой ffmpeg для создания видеоизображения большого пальца

Я использую ffmpeg для получения миниатюрного изображения из видео. Работает нормально. Но функция shell_exec возвращает ноль.

Моя команда

$return=shell_exec('C:\ffmpeg\bin\ffmpeg.exe -i D:\wamp\www\test\demo.mov -f image2 -vframes 1 D:\wamp\www\test\test.jpg');
var_dump($return);

Могу ли я получить возвращаемое значение из этого? Пожалуйста, помогите мне 🙂

0

Решение

От PHP документация:

Вывод выполненной команды или NULL, если произошла ошибка, или
команда не производит вывод.

Примечание. Эта функция может возвращать значение NULL как при возникновении ошибки, так и при
Программа не производит вывод. Невозможно обнаружить исполнение
сбои при использовании этой функции. exec () следует использовать при доступе к
Требуется код выхода из программы.

Таким образом, либо ваша программа не работает, либо она успешна, но ничего не выводится. использование exec вместо shell_exec чтобы помочь вам различать эти два случая. exec возвращает код выхода — если это 0, это означает успех, а ненулевое значение означает сбой.

exec('C:\ffmpeg\bin\ffmpeg.exe -i D:\wamp\www\test\demo.mov -f image2 -vframes 1 D:\wamp\www\test\test.jpg', $output, $exit_code);
var_dump($output);
var_dump($exit_code);
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]