Hola a todos, estoy con el proyecto fin de carrera que es un portal web de VOD, y bueno tengo ya muchas cosas hechas pero me he quedado atascado en algo que daba por sentado que no iba a darme problemas. Es arrancar el dichoso VLC (videolan) en mi maquina linux desde PHP. Se supone que para arrancar dicho reproductor se hace con el comado:
vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host localhost:5554
esto lo he metido en un fichero llamado iniciar_serv.sh.
Si lo ejecutas, el reproductor se arranca pero este no retorna nada, dado que se queda mostrando lo siguiente y no admite mas comandos:
ity 0 (interface/interface.c:231)
[00000287] main interface debug: looking for interface module: 6 candidates
[00000287] main interface: creating VLM
[00000289] main vlm debug: thread 3038579600 (vlm thread) created at priority 0 (misc/vlm.c:105)
[00000287] telnet interface: using the VLM interface plugin...
[00000287] main interface debug: net: listening to port 4212
[00000287] telnet interface: telnet interface started on interface 4212
[00000287] main interface debug: using interface module "telnet"
[00000287] main interface debug: thread 3030186896 (manager) created at priority 0 (interface/interface.c:216)
SOLUCION que di fue crear otro script que ejecuta esto con un nohup y & para que lo haga segundo plano que lo llame arrancar.sh.
nohup ./iniciar_serv.sh &
PROBLEMA:
Si ejecuto inciar_serv.sh desde php con lo siguiente:
exec = ('/scripts/iniciar_serv')
La pagina se queda esperando a que el script retorne algo, cosa que no sucede proque se queda colgado.
Si hago lo mismo pero con arrancar.h
exec = ('/scripts/arrancar.sh')
La pagina finaliza pero no arranca el reproductor.
PREGUNTA
¿Hay alguna forma de controlar en php que si el servidor tarda mucho en responder salga directamente de la ejecucion del comando?
Si consiguiera esto conseguiria que se ejcutara mi script y se continuar con la ejecucion normal del resto de la pagina en vez de quedarse colgado esperando una respuesta que nunca va a recibir
Muchas gracias de antemano a todos.