потоковое видео — запуск mjpg потока из php-файла с помощью shell_exec

я пытаюсь запустить процесс mjpg из файла php на моем Raspberry Pi. Это код, который я использую в файле php.

<?php
//this execution does not work, nor does it echo anything if i try and echo it
$cmd = 'mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -y -r 640x480 -f 10" -o "/usr/local/lib/output_http.so -p 8090 -w /var/www/mjpg_streamer"';
shell_exec($cmd);
?>

<img src = "http://ip:8090/?action=stream" />

Команда работает, если я выполняю ее непосредственно из оболочки, и в этом случае также работает поток, но я хочу, чтобы процесс запускался всякий раз, когда я получаю доступ к странице, чего сейчас не происходит.
В чем ошибка?
Спасибо!

0

Решение

Ошибка (почти наверняка) из-за разрешения на основе проблемы.

Более чем вероятно, когда вы выполните mjpg_streamer библиотека из CLI вы вошли как кто-то с sudoer разрешения или тому подобное, кто может легко выполнить это.

Вы должны понимать, что user кто будет делать запрос на выполнение mjpg_streamer библиотека будет тем же пользователем, которому принадлежит экземпляр Apache обработка запроса.

В этом случае самый простой способ устранения неполадок — войти в CLI, а затем su www-data (вероятно, кто владеет вашим экземпляром apache) и проверьте, можете ли вы запустить его. Если вы получите permission deniedЗатем вам нужно изменить способ предоставления доступа к этой библиотеке. Смена владельца библиотеки, вероятно, не лучшая ставка, но вы, вероятно, можете избежать изменения группы.

0

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

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

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