Я делаю потоковый сервер с CLI vlc. Чтобы сделать это проще, я сделал WEB-интерфейс управления с использованием HTML / PHP. Проблема в том, что когда я запускаю следующую команду в терминале, она работает отлично, но когда запускаю ее из PHP, происходит сбой (создается впечатление, что после vlc вариантов не было).
> vlc -vvv movie.mp4 --sout=#rtp{sdp=rtsp://:8554} --sout-keep
Вот мой PHP-файл:
<?php
$output = shell_exec($_POST['command']);
echo $output;
?>
Входной файл:
<form method="POST" action="textearea.php">
<textarea id="command" name="command">
</textarea>
<input type="submit" value="OK"/>
</form>
$output
переменная говорит о том, что:
VLC media player 2.2.4 Интерфейс командной строки Weatherwax инициализирован. Наберите help для справки. > Отключение.
Это точно так же, как если бы я только что набрал vlc
в терминале само по себе — и, конечно, поток не работает.
хорошо, я нашел ответ сам. вам просто нужно заменить vlc на cvlc в команде. это правильная проблема пользователя www-data.
Других решений пока нет …