ffmpeg через shell_exec не работает

1

Я без проблем запускаю следующую команду на консоли:

ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3

Но когда я запускаю команду в PHP, я ничего не получаю:

<?php
shell_exec("ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3");
?>

Подумайте, в чем проблема? Я проверил свои разрешения CHMOD, все выглядит хорошо. Что еще нужно проверить?

Спасибо,

  • 0
    Что по этому поводу не работает правильно? Нет выходного файла или вы ожидаете, что что-то вернется в PHP-файл?
  • 0
    Вы не проверяете какие-либо выходные данные или ошибки. Начните с изучения stdout, stderr и кода выхода, если вы собираетесь запускать системные команды. Если вы не знаете об этом, самое время начать исследования.
Показать ещё 1 комментарий
Теги:
ffmpeg

2 ответа

0

Я бы попробовал запустить его с полным пути к ffmpeg. Вы можете получить полный путь в unix, запустив which ffmpeg в командной строке. В моем ящике ubuntu выводятся данные, такие как /usr/bin/ffmpeg. Используйте этот полный путь в коде:

<?php
shell_exec("/usr/bin/ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3");
?>
0

Конечно (как написано выше) прохождение полного пути к exec - хорошая идея. Также вы также должны перенаправить поток ошибок на полученный вами результат - добавьте "2> & 1" в конец команды. Взгляните на первый комментарий здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню