Невозможно выполнить VLC из PHP

Я использую uBuntu 12.04.3, 32-разрядную ОС на 8-процессорной, 8-ГБ оперативной памяти, 64-разрядную машину Intel Xeon. Я также установил все бэкпорты.

У меня есть проблема, которая съедает мою голову в течение последних 3 дней. Я создал файл play.sh со следующим кодом ...

Код:

#! /bin/sh 

vlc -vvv sasural.ts

Где sasural.ts - это видеофайл, который находится под домом и на том же уровне, что и Apache. Я вызываю файл .sh, используя следующий код PHP ...

Код:

shell_exec('play.sh');

Я также пытался использовать оба метода exec () / system () для вызова файла .sh.

Всякий раз, когда я делаю это, я получаю следующее сообщение ...

VLC media player 2.2.0-git Weatherwax Command Line Interface initialized. Type `help' for help. > Shutting down.

play.sh работает, если я выполняю его из командной строки терминала за пределами кода PHP. Я думаю, что я делаю что-то не так, когда я вызываю это изнутри PHP.

Я выполнил следующие задачи ...

  1. Предоставлен корневой доступ к Apache
  2. Связаны все папки с Apache
5
задан 26 August 2013 в 18:56

3 ответа

Господа,

Я смог решить эту проблему при помощи следующих шагов...

  • Установите vlc nox версия
  • В файле PHP: повторите shell_exec ("sh/var/www/play1.sh");

  • В play1.sh файле: #!/bin/sh vlc-Idummy/var/www/media.ts - sout '#standard {access=http, mux=ts, dst =:1935/}'

  • Вызовите файл PHP через браузер, и VLC начнет передавать потоком для портирования 1935

Получить доступ к файлу от клиентского конца...

1) Укажите на VLC или любой медиаплеер к URL + Порт.напр. http://www.something.com:1935 2) клиентский плеер начнет получать файл и воспроизводить его.

Теперь следующий шаг должен включить этот файл по требованию. Отправит, как я сделал это также, так останьтесь настроенными!!

Поблагодарите Вас все, кто помог мне в решении этой проблемы. Я добавил +reps везде, где это было возможно.

1
ответ дан 26 August 2013 в 18:56

В вашем скрипте перед запуском vlc есть строка: export DISPLAY=:0

Это должно запустить его в вашем основном сеансе X, предполагая, что веб-сервер работает в том же окне, что и ваш сеанс X. 112]

Вам также нужно будет что-то делать со звуком, если вам это нужно. Как удаленный сервер ALSA или Pulseaudio.

0
ответ дан 26 August 2013 в 18:56

Сделанный это :)

Это было забавой :D

предпосылки: vlc должен уже работать первым прибыл, первым обслужен, файл должен существовать ниже, настроит это:

mkfifo /tmp/vlcfifo
chmod a+rw /tmp/vlcfifo
tail -f /tmp/vlcfifo | nohup vlc --intf rc &

в php файле:

<?php
passthru('echo "add /path/to/video.avi" | tee /tmp/vlcfifo');
?>

Дайте этому попытку :)

4
ответ дан 26 August 2013 в 18:56

Другие вопросы по тегам:

Похожие вопросы: