JustNeuf
Forum Neuf Cegetel, forum neuf, neuf cegetel forum, forum ADSL, Neuf Mediacenter, problèmes Neuf, litiges Neuf, neufbox forum, neuftv, forum neuf mediacenter, forum adsl, justneuf, Neuf Box 4, dégroupage total, Forum NB4, dégroupage partiel, migration Cegetel Neuf, Neuf TV Forum, Forum neuf mobile, neufbox, migration AOL Neuf, routeur adsl, dégroupage total, webtv neuf, aide neuf box, assistance neufbox, débit adsl, easyneuf, télévision sur pc, informations adsl, 9, neuf mobile liberté, MP9, n9uf telecom, Media Center Neuf, Neuf Cegetel, réseau neuf telecom, neuf cegetel forum, neuf, 9,  nra, adsl2+ Neuf, forum neuf box, 9box, JustNeuf

Bienvenue invité ( Connexion | Inscription )

> 

Avant d'ouvrir un nouveau sujet sur JustNeuf, pensez à consulter :

La réponse à la question que vous vous posez est peut-être déjà présente...

7 Pages V   1 2 3 > »   
Reply to this topicStart new topicOptions
 [linux] Script De Demarrage De Mp9
rasta42
* mardi 07 mars 2006 à 00:29
Message #1


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



Salut,

Bon ayant réussi tant bien que mal a faire marche MP9 sur ma Debian (pas d'image mais du son), je me suis penché sur un petit script pour automatiser un peu plus le lancement de MP9.

ce script est juste un peu plus complet que celui qui est fourni par defaut.

Il evite que vlc soit lance plusieurs fois et permet d'arreter un peu plus simplement vlc (rechercher le pid de vlc et kill de vlc).

En plus j'ai ajouter deux modes de debugage un avec la recuperation des log de vlc dans un fichier et l'autre en affichant la fenetre graphique de vlc pendant le streaming afin de modifier certains parametres en live.

Ce script devrais marcher sur toutes les distribution linux.
Voici le code :

CODE
#!/bin/sh
#
# Script de lancement de MP9
# Willow le 06/03/06

# Nom du Processus MP9
PROCNAME=vlc
SCRIPTMP9="vlc -I http --http-host :26180 --language en_GB --config mp9.cfg --verbose 0"
DEBUGMP9="vlc -I http --http-host :26180 --language en_GB --config mp9.cfg --verbose 2"
CLONEMP9="vlc --extraintf http --http-host :26180 --language en_GB --config mp9.cfg --verbose 0"

# Recuperation du PID de MP9
pidno=$( ps ax | grep -v "ps ax" | grep -v grep | grep $PROCNAME | awk '{ print $1 }' )

cd /usr/share/vlc
case $1 in
    start)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $SCRIPTMP9 > /dev/null 2> /dev/null &
        exit
      else
        echo "MP9 est déja lance"
      fi;;
    stop)
      if [ -z "$pidno" ]; then
        echo "MP9 non detecte"
      else
        kill $pidno
        echo "Arret de MP9"
      fi;;
    restart)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $SCRIPTMP9 > /dev/null 2> /dev/null &
        exit
          else
        kill $pidno
        echo "Arret de MP9"
        echo "Demarrage MP9"
        $SCRIPTMP9 > /dev/null 2> /dev/null &
        exit
      fi;;
    debug)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $DEBUGMP9 > /dev/null 2> ~/mp9.log &
        exit
      else
        echo "MP9 est déja lance"
      fi;;
    clone)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $CLONEMP9 > /dev/null 2> /dev/null &
        exit
      else
        echo "MP9 est déja lance"
      fi;;
    *)
      echo
      echo "Usage : mp9 [start|stop|restart|debug|clone]"
      echo
      echo "mode debug : visuatisation des logs de vlc"
      echo "mode clone : afficher vlc en meme temps";;
esac


Pensez à le rendre executable (chmod 755 ./mp9.sh) et pour l'exécution pas plus simple :

./mp9 start : pour lancer mp9
./mp9 stop : pour l'arreter
./mp9 restart : pour redémarrer mp9
./mp9 debug : pour lancer mp9 et récupérer les log dans ~/mp9.log
./mp9 clone : pour lancer mp9 et une fenêtre de vlc pour modifier les paramètres


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
* mardi 07 mars 2006 à 00:29
Message #












Go to the top of the page
 
Quote Post
Cotdaz
* mardi 07 mars 2006 à 00:38
Message #2



Icône de groupe

Groupe: Admin
Messages: 19,533
Inscrit: 11/03/2004
Lieu : Nice
Membre No.: 2

Modem: Neuf Box 4 SER
NRA: CRR06


Bonsoir et merci pour nos membres rasta42 smile.gif

J'épingle votre topic.


--------------------
Go to the top of the page
 
+Quote Post
AmiSyl
* mardi 07 mars 2006 à 05:21
Message #3


Just-Un
*

Groupe: Membres
Messages: 133
Inscrit: 01/08/2005
Lieu : La Roche sur Yon (Vendée, 85)
Membre No.: 7,159

Modem: Autres



hello,

ah ben que voila un beau script clap.gif
faudrait le poster sur le forum neuf.tv, avec un peu de chance il servira pour les prochain MP9 smile.gif

juste une p'tite remarque: au lieu de tout ton embroglio pour choper le pid, pourquoi ne pas utiliser directement pidof ?
CODE
pidno=$( pidof vlc )


et pour ton problème d'image, dans ton debug tu n'aurais pas des framerate=23.97fps , par hasard ?
si oui alors la solution est de rajouter fps=25 dans les lignes de transcode du fichier commands.xml (toutes les lignes contenant vb=)
CODE
<action>?mrl=&sout=%23transcode{soverlay,vcodec=mp2v,vb=3072,fps=25,acodec=mpga,ab=256,channels=2,sa
mplerate=44100}:duplicate{dst=std{access=udp,mux=ts,url=$stream}}&control=sout</action>

sinon c'est que transcode ne sait pas reencoder le format vidéo, et là y a rien à faire smile.gif

note: perso j'ai aussi viré le --configMP9.cfg de ma ligne de commande, ça m'a arrangé pas mal de trucs wink.gif


--------------------
I am not a NEUFbur, I'm a FREEman and a pornolover
Go to the top of the page
 
+Quote Post
rasta42
* mardi 07 mars 2006 à 11:16
Message #4


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



Pour ce qui est de la recuperation du pid, c'est une methode que j'avais trouvé sur le net. Mais la tienne m'a l'air plus élegante, je me penche sur le sujet.

J'ai aussi posté sur mp9.tv (en fait, c'est meme la que j'ai posté en premier) mais ils avaient pas l'air tres receptifs (faut dire qu'il etait peut etre un peu tard).

Pour le probleme d'image, c'est justement comme tu le préconise que j'ai réglé le probleme, j'avais lu un post sur le sujet ici ou sur mp9.tv

Je comptais aussi me pencher sur le "--config mp9.cfg" pour voir si je peux pas arranger aussi les choses chez moi, notamment pour le format de la video (image 16/9 ecrasé ou 4/3 elargie).

P.S. : N'hésitez pas à critiquer mon code comme AmiSyl l'a fait, il est probablement largement perfectible.


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
rasta42
* mardi 07 mars 2006 à 14:09
Message #5


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



Apres la remarque très pertinante de AmiSyl, j'ai modifié mon script.
J'ai également ajouté une commande pour connaitre l'etat de MP9.
Je vais essayer dans un proche avenir de m'inspirer de ce petit script pour réaliser une appli graphique comme celle de windows (pour pouvoir nottamment gerer la toplist). Mais ne soyez pas trop préssés, je programme à mes heures perdus et en ce moment j'en ai pas beaucoup à perdre.

CODE
#!/bin/sh
#
# Script de lancement de MP9
#
# Version 1.1 07/03/06
#   * Modif. recuperation du PID
#   * Ajout fonction STATUS
# Version 1.0 06/03/06

# Nom du Processus MP9
PROCNAME=vlc
SCRIPTMP9="vlc -I http --http-host :26180 --language en_GB --config mp9.cfg --verbose 0"
DEBUGMP9="vlc -I http --http-host :26180 --language en_GB --config mp9.cfg --verbose 2"
CLONEMP9="vlc --extraintf http --http-host :26180 --language en_GB --config mp9.cfg --verbose 0"

# Recuperation du PID de MP9
pidno=$(pidof $PROCNAME)

cd /usr/share/vlc
case $1 in
    start)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $SCRIPTMP9 > /dev/null 2> /dev/null &
        exit
      else
        echo "MP9 est déja lance"
      fi;;
    stop)
      if [ -z "$pidno" ]; then
        echo "MP9 non detecte"
      else  
        kill $pidno
        echo "Arret de MP9"
      fi;;
    restart)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $SCRIPTMP9 > /dev/null 2> /dev/null &
        exit
          else
        kill $pidno
        echo "Arret de MP9"
        echo "Demarrage MP9"
        $SCRIPTMP9 > /dev/null 2> /dev/null &
        exit
      fi;;
    status)
      if [ -z "$pidno" ]; then
        echo "Service MP9 non detecte"
      else
        echo "Service MP9 lance"
      fi;;
    debug)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $DEBUGMP9 > /dev/null 2> ~/mp9.log &
        exit
      else
        echo "MP9 est déja lance"
      fi;;
    clone)
      if [ -z "$pidno" ]; then
        echo "Demarrage MP9"
        $CLONEMP9 > /dev/null 2> /dev/null &
        exit
      else
        echo "MP9 est déja lance"
      fi;;
    *)
      echo
      echo "Usage : mp9 [start|stop|restart|status|debug|clone]"
      echo
      echo "mode debug : visuatisation des logs de vlc"
      echo "mode clone : afficher vlc en meme temps";;
esac


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
E.D.209
* jeudi 09 mars 2006 à 19:13
Message #6


Just-Un
*

Groupe: Membres
Messages: 76
Inscrit: 23/10/2005
Lieu : Nantes
Membre No.: 9,182

Modem: Neuf Box Trio3D
NRA: MAR44


Bonjour, serait-il possible d'avoir un topic pouvant résumer l'installation totale du MP9 sur Linux avec la configuraion de smb.conf, etc? fool.gif
Merci.


--------------------
Go to the top of the page
 
+Quote Post
AmiSyl
* samedi 11 mars 2006 à 18:22
Message #7


Just-Un
*

Groupe: Membres
Messages: 133
Inscrit: 01/08/2005
Lieu : La Roche sur Yon (Vendée, 85)
Membre No.: 7,159

Modem: Autres



CITATION(rasta42 @ Mar 7 2006, 01:09 PM) *
Je vais essayer dans un proche avenir de m'inspirer de ce petit script pour réaliser une appli graphique comme celle de windows (pour pouvoir nottamment gerer la toplist). Mais ne soyez pas trop préssés, je programme à mes heures perdus et en ce moment j'en ai pas beaucoup à perdre.

je n'avais pas fait gaffe à ça
en quoi vas tu faire l'interface ?
je programme aussi à mes heures perdues, et j'ai quelques connaissances en C et GTK+ (enfin j'ai tripatouillé le GTK+), donc si besoin est je pourrais filer un coup de main smile.gif
j'avais déja en tête une interface graphique pour certaines choses du MP9, notamment la toplist comme tu le précises, qui peut être placée dans un sous-répertoire du userhome (chez moi c'est dans ~/.mp9) ça facilite les modifications (le répertoire par défaut étant dans le rep d'install de VLC il faut être root pour modifier les fichiers, pas simple à utiliser huh.gif )


@E.D. 209
perso j'ai utilisé webmin pour ça, mais sinon voici ce que ça a ajouté à la fin de mon smb.conf
CODE
[mp9_3]
        public = yes
        path = /home/amisyl/Pictures

et dans le fichier toplist.xml (qui vient avec le MP9)
CODE
<photo><link>
<share>mp9_3</share>
<location>/home/amisyl/Pictures</location>
</link></photo>

avec juste ça, et un restart du service smb
CODE
/etc/init.d/smb restart
(ou par webmin), tout fonctionne nickel smile.gif

Ce message a été modifié par AmiSyl: samedi 11 mars 2006 à 18:27


--------------------
I am not a NEUFbur, I'm a FREEman and a pornolover
Go to the top of the page
 
+Quote Post
E.D.209
* dimanche 12 mars 2006 à 21:12
Message #8


Just-Un
*

Groupe: Membres
Messages: 76
Inscrit: 23/10/2005
Lieu : Nantes
Membre No.: 9,182

Modem: Neuf Box Trio3D
NRA: MAR44


Bonsoir, j'ai réessayé une installation du MP9 sur Linux Mandriva, qui s'est bien passée! smile.gif
J'arrive à voir mes images. Pour les films et la musique, je vois bien mes fichiers apparaître mais en ce qui concerne la lecture, c'est pas de son pas d'image pour les films et pas de son pour la musique! fool.gif
Le problème viendrait de ma version de VLC? blink.gif


--------------------
Go to the top of the page
 
+Quote Post
rasta42
* dimanche 12 mars 2006 à 22:00
Message #9


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



CITATION(AmiSyl @ Mar 11 2006, 05:22 PM) *
je n'avais pas fait gaffe à ça
en quoi vas tu faire l'interface ?
je programme aussi à mes heures perdues, et j'ai quelques connaissances en C et GTK+ (enfin j'ai tripatouillé le GTK+), donc si besoin est je pourrais filer un coup de main smile.gif
Ca fait plusieurs mois que je repousse à apprendre le Python, donc je me suis dis que ce serait la bonne occas pour m'y mettre. Et en ce qui concerne la partie graphique, j'avais pensé à WxPython. J'avais d'ailleurs trouvé un bon RAD (Boa Constructor)
Sinon, je me debrouille un petit peu en C, même si c'est pas mon langage préféré. Par contre, pour ce qui est de la partie graphique ce sera une première pour moi sous linux. Etant un windowsien repenti, j'avais plutot l'habitude de tout faire en Delphi.
CITATION(AmiSyl @ Mar 11 2006, 05:22 PM) *
j'avais déja en tête une interface graphique pour certaines choses du MP9, notamment la toplist comme tu le précises, qui peut être placée dans un sous-répertoire du userhome (chez moi c'est dans ~/.mp9) ça facilite les modifications (le répertoire par défaut étant dans le rep d'install de VLC il faut être root pour modifier les fichiers, pas simple à utiliser huh.gif )
Tiens, je savais pas qu'on pouvais mettre toplist.xml dans son repertoire personnel. C'est bon à savoir.

@E.D.209

En ce qui concerne la version de VLC, j'ai remarqué que chez moi celle qui marchait le mieux était la 0.8.4.


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
AmiSyl
* dimanche 12 mars 2006 à 22:35
Message #10


Just-Un
*

Groupe: Membres
Messages: 133
Inscrit: 01/08/2005
Lieu : La Roche sur Yon (Vendée, 85)
Membre No.: 7,159

Modem: Autres



pour le toplist dans le rep home, il faut en fait mettre ce qu'il y a dans http dans un rep quelconque ( .mp9 pour moi, ça en fait un rep caché) et rajouter --http-src /chemin/vers/rep dans la ligne de commande de VLC
par ex.
CODE
/usr/bin/vlc --extraintf http --http-src /home/amisyl/.mp9 --http-host :26180 --verbose 0 > /dev/null 2> /dev/null


--------------------
I am not a NEUFbur, I'm a FREEman and a pornolover
Go to the top of the page
 
+Quote Post
E.D.209
* lundi 13 mars 2006 à 13:11
Message #11


Just-Un
*

Groupe: Membres
Messages: 76
Inscrit: 23/10/2005
Lieu : Nantes
Membre No.: 9,182

Modem: Neuf Box Trio3D
NRA: MAR44


Bonjour, tu réponds à quoi exactement là ? fool.gif


--------------------
Go to the top of the page
 
+Quote Post
rasta42
* mardi 21 mars 2006 à 19:20
Message #12


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



Bon, j'ai un peu avancé pour l'interface graphique pour lancer MP9.
Pour l'instant, ça reste assez sommaire mais je pense que les "cliques-boutons" apprécieront. yahoo.gif

:excl: Quelques précisions importantes :
  • C'est un programme écrit en python et WxPython pour la pertie graphique, donc pensez à installer python et le module wxWidgets pour python. Sur une Debian Etch, il faut installer les paquets python et python-wxgtk2.6. (Pour les autres distrib. les noms sont peut-etre légèrement différents)
  • Une fois que vous avez récupéré l'archive du programme, vous le décompactez ou vous voulez (ca n'a pas d'importance). Vérifiez que le fichier 'mp9Gui.py' soit executable (chmod 755 <nom du fichier>)
  • Le programme reprend à peu près les mêmes fonctionnalités que la version précédente en ligne de commande. Si on quitte le programme, vlc reste lancé.
Comme d'hab, toutes les suggestions sont les bienvenues.

fool.gif Prochain Episode :

Possiblilité de modifier "toplist.xml" et intégration de certains tweaks (genre modif automatique du fps dans le fichier "commands.xml")


P.S. : Certains d'entre vous, se demandent surement pourquoi j'ai bien pu avoir l'idée de coder ca en python :
La première raison, c'est que ca faisait un petit bout de temps que je voulais apprendre le python.
Et la seconde raison, c'est que si j'arrive à intégrer toutes les fonctionnalités que je veux (et que vous m'aurez suggérées) ce sera assez facilement portable sous Windows.

Plutôt que de faire chacun un truc dans son coin et d'ignorer l'autre plateforme beee.gif autant mettre nos connaissances au profit de tous.
Fichier(s) joint(s)
Fichier joint  mp9Gui.tar.gz ( 3,61KO ) Nombre de téléchargements: 37
 


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
AmiSyl
* mardi 21 mars 2006 à 22:11
Message #13


Just-Un
*

Groupe: Membres
Messages: 133
Inscrit: 01/08/2005
Lieu : La Roche sur Yon (Vendée, 85)
Membre No.: 7,159

Modem: Autres



chouette smile.gif
manque plus que la gestion toplist.xml façon mp9 sous win smile.gif

par contre chez moi (mandriva64) il refuse ta fonction pidno
j'ai donc dû la changer en ceci:
CODE
# Recuperation du PID de MP9
from commands import getoutput
def pidno():
    pid = getoutput('pidof ' + procname)
    return pid

et là ça marche... enfin parfois il change pas le status, mais bon ça c'est pas important wink.gif

[EDIT]
et il faudrait aussi faire de pidno une variable globale, pour ne pas appeler la fonction 3 fois à chaque clic sur un bouton wink.gif
[/EDIT]

Ce message a été modifié par AmiSyl: mardi 21 mars 2006 à 22:12


--------------------
I am not a NEUFbur, I'm a FREEman and a pornolover
Go to the top of the page
 
+Quote Post
rasta42
* mardi 21 mars 2006 à 23:30
Message #14


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



C'est etonnant que la fonction ne marche pas chez toi. Je viens de regarder un peu en detail et la fonction 'commands.getoutput' utilise justement la fonction 'os.popen' dont je me sers. Je me demande si ca viendrait pas du fait que tu sois en 64bits. J'essaierais de creuser un peu la question.

Autrement, en ce qui concerne la modif pour faire de pidno une variable globale, c'est très pertinent. Il faut dire que j'ai pas vraiment cherché à optimisé le code pour l'instant.


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
AmiSyl
* mercredi 22 mars 2006 à 13:24
Message #15


Just-Un
*

Groupe: Membres
Messages: 133
Inscrit: 01/08/2005
Lieu : La Roche sur Yon (Vendée, 85)
Membre No.: 7,159

Modem: Autres



enfin j'ai parlé un peu vite (j'étais pressé smile.gif)
il ne refuse pas la fonction, plutot que le retour de popen n'est pas exploitable en tant que texte (c'est un handle vers le 'fichier' ouvert)
et la fonction .read() ne semble rien faire de plus


--------------------
I am not a NEUFbur, I'm a FREEman and a pornolover
Go to the top of the page
 
+Quote Post
rasta42
* mercredi 22 mars 2006 à 13:54
Message #16


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



bizarre, chez moi la methode read() lis le fichier crée par popen et me renvoie une chaine de caractere. C'est vrai qu'a la fin de la chaine, j'ai remarqué qu'il y avait en général un retour chariot '\n' mais ca ne gene pas l'execution du kill ou les test dans les boucles if.

Je vais verifier si la méthode read n'aurait pas été modifiée suivant les version de python parce que chez moi je cohabite avec deux versions (la 2.3 et 2.4). Et c'est la 2.3 qui est utilisée par défault autant pour le developpement que pour l'execution. Je teste et je verrais bien ce qu'il en est.


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post
AmiSyl
* mercredi 22 mars 2006 à 20:50
Message #17


Just-Un
*

Groupe: Membres
Messages: 133
Inscrit: 01/08/2005
Lieu : La Roche sur Yon (Vendée, 85)
Membre No.: 7,159

Modem: Autres



2.4.1 ici (celle par défaut, j'ai rien touché promis smile.gif)


--------------------
I am not a NEUFbur, I'm a FREEman and a pornolover
Go to the top of the page
 
+Quote Post
rasta42
* jeudi 23 mars 2006 à 18:02
Message #18


Just-Un
*

Groupe: Membres
Messages: 73
Inscrit: 07/03/2006
Membre No.: 13,623

Modem: Neuf Box Trio3D



J'ai fait quelques petites modifs au programme :
  • pidno est devenu une variable globale
  • J'ai rajouté un temps d'attente après le lancement de vlc (commande sleep). Ca permet de mettre a jour l'etat de vlc correctement. C'est pas la methode la plus élégante mais c'est tout ce que j'ai trouvé pour l'instant. blush.gif
  • J'ai modifier la fonction pid pour utiliser getoutput. Ca donne un resultat plus "propre" et apparemment ca marche mieux.
A moins que tu trouves d'autres bugs wink.gif , je commence à bosser sur la gestion de la toplist.

Ci-joint la nouvelle version
Fichier(s) joint(s)
Fichier joint  MP9Gui.tar.gz ( 1,7KO ) Nombre de téléchargements: 32
 


--------------------
Enfin un MP9 facile pour les manchots
Go to the top of the page
 
+Quote Post