[linux] Script De Demarrage De Mp9 |


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...
![]() ![]() ![]() |
[linux] Script De Demarrage De Mp9 |
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 -------------------- |
|
|
|
mardi 07 mars 2006 à 00:29
Message
#
|
|
|
|
|
|
|
|
mardi 07 mars 2006 à 00:38
Message
#2
|
|
![]() 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
J'épingle votre topic. -------------------- |
|
|
|
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 faudrait le poster sur le forum neuf.tv, avec un peu de chance il servira pour les prochain MP9 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 note: perso j'ai aussi viré le --configMP9.cfg de ma ligne de commande, ça m'a arrangé pas mal de trucs -------------------- I am not a NEUFbur, I'm a FREEman and a pornolover
|
|
|
|
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. -------------------- |
|
|
|
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 -------------------- |
|
|
|
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?
Merci. -------------------- ![]() |
|
|
|
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 |
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 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 @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 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
|
|
|
|
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!
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! Le problème viendrait de ma version de VLC? -------------------- ![]() |
|
|
|
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 |
je n'avais pas fait gaffe à ça 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)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 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. 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 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. -------------------- |
|
|
|
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
|
|
|
|
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à ?
-------------------- ![]() |
|
|
|
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. :excl: Quelques précisions importantes :
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
Fichier(s) joint(s)
-------------------- |
|
|
|
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
manque plus que la gestion toplist.xml façon mp9 sous win 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 [EDIT] et il faudrait aussi faire de pidno une variable globale, pour ne pas appeler la fonction 3 fois à chaque clic sur un bouton [/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
|
|
|
|
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. -------------------- |
|
|
|
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é
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
|
|
|
|
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. -------------------- |
|
|
|
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
-------------------- I am not a NEUFbur, I'm a FREEman and a pornolover
|
|
|
|
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 :
Ci-joint la nouvelle version
Fichier(s) joint(s)
-------------------- |
|
|
|