В последнее время я играю с R-Pi. Сейчас я пытаюсь стримить с Raspberry pi b + и камерой.
У меня есть базовый веб-сайт в php, откуда я даю команды камере (Start — Stop streaming).
Проблема в том, что когда я нажимаю Start Streaming, красный светодиод от камеры будет светиться в течение секунды, а затем погаснет.
Когда я выбираю запуск потока из командной строки (терминала), он работает.
Вот мой сценарий:
#! / Bin / ш
raspivid -o — -t 0 -n -w 600 -h 400 -fps 12 | cvlc -vvv stream: /// dev / stdin —sout ‘#rtp {sdp = rtsp: //: 8554 /}’: demux = h264
А вот мой php-файл, где я могу вызвать скрипт оболочки:
$ trimite = shell_exec (‘sudo sh streaming.sh’);
Есть идеи?
Заранее спасибо !
Похоже, это может быть вызвано ошибкой прав доступа. Запустите команду sudo chmod +x streaming.sh
Если это не решает проблему (при условии, что у вас работает веб-сервер apache), запустите «sudo a2enmod» в терминале, затем sudo chmod +x /usr/lib/cgi-bin
затем перезапустите apache (sudo service apache restart)
Замечания:
Если возникает ошибка «невозможно записать разрешения, каталог не существует», вам нужно будет выполнить команду «sudo mkdir / usr / lib / cgi-bin /» в терминале
Создайте скрипт cgi для вызова скрипта bash:
#!/bin/bash
echo ""echo "Content-type: text/html"echo "<html><head><title>Light on"echo "</title>"echo "</head><body>"echo "$(bash /home/pi/streaming.sh) #this calls the shell script"echo "</body></html>"
Затем вы должны сохранить этот файл как /usr/lib/cgi-bin/first.cgi и назначить ему разрешения с помощью «sudo chmod + x /usr/lib/cgi-bin/first.cgi». Предполагая, что ваш сервер apache настроен правильно (можно найти различные руководства по правильному включению модуля cgi, если a2enmod не работал должным образом), теперь вы должны иметь возможность зайти в веб-браузер на другом компьютере локальной сети и перейти к Http: //IPofRPI/cgi-bin/first.cgi.
Сценарий должен выполнить. Поздравляем!
Если скрипт не выполняется, вы можете прочитать о модулях CGI и apache онлайн и посмотреть, что не так с вашими скриптами.
Некоторое время назад у меня была такая же проблема, и этот вопрос можно найти здесь: Вот
Я надеюсь, что это поможет вам или кому-то еще 🙂
Других решений пока нет …