Aller au contenu

Projet Avec Vlc: Probl


Geek Spirit

Messages recommandés

Posté(e)

Bonsoir,

Cela fait maintenant plus d'1 semaine que je cherche mais rien au final de bien fonctionnel.

Le projet final serai de pouvoir héberger une page web sur le syno (un DS207+) qui permettrait de voir mes videos (musique, photo ...) en streaming

L'état actuel : Impossible de lancer vlc correctement !

Je m'y suis pris en commençant par l'installation de vlc :

   <code>ipkg install vlc

   ipkg install ffmpeg

   ipkg install libmpeg2

   ipkg install libdvbpsi

   ipkg install libmad

   ipkg install freetype

   ipkg install libdvdnav

   ipkg install libmpcdec

   ipkg install libogg

 ipkg install libvorbis

 ipkg install x264</code>
Ai je oublié quelque chose ? Suis à quoi, et après avoir lu toute la doc de vlc, je tente des commande tel que :
   vlc -vvv /volume1/Download/test.avi --sout-standard-access=http --sout-standard-mux=ogg --sout-standard-dst=server_en_virtual_host.com:7000
En ayant une page web sur le syno à l'adresse server_en_virtual_host.com tel que :
   <html>

   <head>

   </head>

   <body>

   <embed type="application/x-vlc-plugin" name="video2" autoplay="yes" loop="yes" hidden="no" width="400" height="300"  target="http://server_en_virtual_host.com:7000" /> 

   </body>

   </html>
Mais rien n'apparaît, mieux que ça des messages d'erreurs dans le terminal qui me semble être les premiers à devoir résoudre :
   oss audio output error: cannot open audio device (/dev/dsp)

   main audio output error: couldn't find a filter for the conversion

   main audio output error: couldn't create audio output pipeline

   fb video output error: cannot get terminal mode (Invalid argument)

Le dernier me semble être le plus méchant !

Petites questions :

Dois je utiliser http ou udp ?

A quoi sert se fichu paramêtre -vvv devant vlc ?

Ai je oublier de configurer quelque chose ? (J'ai ecouté parlé de vlcrc ?, Est ce obligatoire ?)

Pour info : J'ai déjas développé une application en vb.net (Désolé pour les non fan) me permettant de lancer des videos sur la freebox (A la manière du home player pour les intimes)

Je me dit qu'il ne peut pas être si insurmontable de mettre en place le même genre de chose sur le nas ?

Je sais que les post conernant vlc reste souvent sans réponse, et je n'ai trouvé null part un tutoriel permettant d'expliquer correctement comment simplement installer vlc.

En tout cas si je m'en sort je rédigerai un tutoriel complet et simple !

Je suis sûr que vlc peut permetre de faire des choses merveilleuse si on y met le coeur, non ?

Pour le moment, merci à tous de participer et m'aider. :-)

Merci

Posté(e)

Bonsoir à tous,

Après de nombreuses heures supplémentaires et des millions de test, je m'en sort plutôt pas mal.

Je lance vlc en ligne de commande à partir de putty et je lit sur une page web avec le plugin vlc.

Jusque la sa vas! :-)

Me reste juste un petit souci: Je voudrais pouvoir lancer vlc (executer la commande : exec($cmd)) dans ma page web.

Mais la commande ne s'exécute pas !

Lorsque je fait (exec("mkdir salut_test")), le fichier se créer.

J'essaie alors de faire un .sh avec ma commande de lancement vlc à l'intérieur. Mais sans succes

Je pense qu'il s'agit de droit au quelque chose comme sa.

Je regarde donc du coté de "su" mais on ne peut l'exécuter qu'en root ! -:(

Quelqu'un'un connaît il un moyen d'exécuter une commande tel que le lancement de vlc à partir d'une page web ?

Y a t'il un moyen en php avec exec() de changer d'utilisateur ?

Merci pour vos réponses

Posté(e)

Quelqu'un'un connaît il un moyen d'exécuter une commande tel que le lancement de vlc à partir d'une page web ?

As-tu modifié le fichier php.ini de façon a autoriser php à accéder au dossier de l'exécutable de vlc ?

Pascal

Posté(e)

Dit m'en plus ?

Pour le moment j'ai mis les répertoires suivant en 777 y compris vlc (Ceux commençant par # seulement, je pense pas que cela vienne des autres)

#/usr/syno/vlc

/usr/syno/vlc/vlc

#/opt/include/vlc

/opt/share/doc/vlc

#/opt/share/vlc

#/opt/lib/vlc

#/opt/bin/vlc

#/volume1/@database/vlc

#/volume1/opt/include/vlc

/volume1/opt/share/doc/vlc

#/volume1/opt/share/vlc

#/volume1/opt/lib/vlc

#/volume1/opt/bin/vlc

J'ai aussi fait :

which vlc

/opt/bin/vlc

Puis-je être alors sûr que le vlc lancé est celui la ?

Posté(e)

As-tu modifié le fichier php.ini de façon a autoriser php à accéder au dossier de l'exécutable de vlc ?

Pascal

Dans mon php.ini j'ai :

safe_mode = Off


safe_mode_gid = Off


safe_mode_include_dir =


safe_mode_exec_dir =


safe_mode_allowed_env_vars = PHP_


safe_mode_protected_env_vars = LD_LIBRARY_PATH


;open_basedir = /volume1/web:/volume2/web:/volume3/web:/volume4/web:/volume5/web:/volume1/photo:/volume2/photo:/volume3/photo:/volume4/photo:/volume5/photo:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog


disable_functions =


disable_classes =
Si c'est de sa que tu veut parler ? D'après mes test et ce que j'ai put lire c'est ce qu'il faut pour pouvoir lancer des commandes avec un minimum de restriction.
test plutot avec un o a syno :D /usr/syno/vlc/vlc /volume1/download/test.avi
Exact dsl :
/usr/syno/vlc/vlc /volume1/download/test.avi .avi

VLC media player 0.8.6i Janus

[00000001] main private error: no memcpy module matched "any"

[00000011] main interface error: no interface module matched "hotkeys,none"

[00000011] main interface error: no suitable interface module

[00000001] main private error: interface "hotkeys,none" initialization failed

[00000012] main interface error: no interface module matched "any"

[00000012] main interface error: no suitable interface module

[00000001] main private error: interface "(null)" initialization failed

Posté(e)

CS407> ./vlc /volume1/video/__ NOS VIDEOS __/clips music/Th/Schrei.mpg

VLC media player 0.8.6i Janus

starting VLC root wrapper... using UID 0 (root)

***************************************

* Running VLC as root is discouraged. *

***************************************

It is potentially dangerous, and might not even work properly.

[00000001] main private error: no memcpy module matched "any"

[00000011] main interface error: no interface module matched "hotkeys,none"

[00000011] main interface error: no suitable interface module

[00000001] main private error: interface "hotkeys,none" initialization failed

[00000012] main interface error: no interface module matched "any"

[00000012] main interface error: no suitable interface module

[00000001] main private error: interface "(null)" initialization failed

CS407>

voila ce que cela donne en ligne de commande :)

Comment arrive tu a lancer vlc en root ?

Moi il me dit d'utiliser vlc-wrapper :-(

Merci

Posté(e)

Dans mon php.ini j'ai :

safe_mode = Off


 safe_mode_gid = Off


 safe_mode_include_dir =


 safe_mode_exec_dir =


 safe_mode_allowed_env_vars = PHP_


 safe_mode_protected_env_vars = LD_LIBRARY_PATH


;open_basedir = /volume1/web:/volume2/web:/volume3/web:/volume4/web:/volume5/web:/volume1/photo:/volume2/photo:/volume3/photo:/volume4/photo:/volume5/photo:/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog


 disable_functions =


 disable_classes =

Si c'est de sa que tu veut parler ?

Oui, dans open_basedir il faut que tu rajoutes le répertoire de l'exécutable de vlc, ainsi que tout répertoire auquel doit accéder php, sinon ça ne pourra pas marcher.

Pascal

Posté(e)

Oui, dans open_basedir il faut que tu rajoutes le répertoire de l'exécutable de vlc, ainsi que tout répertoire auquel doit accéder php, sinon ça ne pourra pas marcher.

Pascal

open_basedir est en commentaire ce qui si je ne me trompe pas veut dire que j'accepte tous les dossiers.

Posté(e)

open_basedir est en commentaire ce qui si je ne me trompe pas veut dire que j'accepte tous les dossiers.

Argh, désolé, j'étais passé à côté du signe de commentaire. Au temps pour moi :)

Pascal

Posté(e)

Argh, désolé, j'étais passé à côté du signe de commentaire. Au temps pour moi :)

Pascal

C'est rien j'ai hésité même à le préciser.

Pas d'autres idée ? Une piste ?

Savez vous quel utilisateur exécute les commandes lorsque l'on fait exec() en php ?

Merci

Posté(e)

Savez vous quel utilisateur exécute les commandes lorsque l'on fait exec() en php ?

Si ça peut t'aider, la commande du shell whoami renvoie le nom de l'utilisateur courant, tu peux essayer de la lancer via exec().

Pascal

Posté(e)

Si ça peut t'aider, la commande du shell whoami renvoie le nom de l'utilisateur courant, tu peux essayer de la lancer via exec().

Pascal

En effet c'est nobody : j'ai lancé exec('top') et dans la fenêtre de top putty j'ai vu nobody ----- top apparaitre.

Merci pour whoami j'e la cherchai celle la !

Est il possible de changer de user ?

  • 3 semaines après...
Posté(e)

Pour faire suite au post, je m'en suis sorti en faisant de l'ad hoc qui semble mieux fonctionner que le streaming avec vlc, même si cela reste possible (Je suis arriver à le faire fonctionner).Quoi qu'il en soit j'ai une connection adsl total dégroupé et le débit n'est pas assez élevé. En plus de quoi s'il on commence à vouloir ajouter d'autre fonctionnalitées, cela devient impossible au niveau du débit.

Conclusion j'attend la fibre optique tout en développant un mini site en ajax qui me permet de lire les videos et fichiers sonores en local (Le fichier vas au premier NRA seulement et revient) ou en les lançants sur la freebox (J'en suis là). Si quelqu'un est interréssé, qu'il fasse signe.

J'espère que j'aurais la fibre sans trop tardé, à montpellier je pense avoir pas mal de chance.

Merci en tout cas a ceux qui m'on aidé. Longue vie au forum.

  • 2 mois après...
Posté(e)

petite astuce, les commandes executes dans PHP ont une durée de vie trés limités liées à l'instance PHP (durée de la commande).

Peut être pourrait tu désolidarisais la commande du "lanceur" en effectuer un nohup :

nohup macommande &

Bon il me semble que ce message arrive trop tard mais si ça peut aider quelqu'un ...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.