#1 Le 09/10/2009, à 10:08
- tuxmax
Script pour enregistrer les chaines de la neufbox ( sur Pc)
J' essaie de creer un script pour enregistrer les chianes de la neuf box sur Pc, mais j' ai des petits soucis.
J' ai des bugs et comme je ne suis pas un pro de la programmation, je vous demande d' y jetté un oeil et de me donné votre avis ou les améliorations possibles .
Merci
#!/bin/bash
#script par TuxMax
#Version 0.1
#Le 09/10/09
filename=`date +"%Y-%m-%d-%H-%M-%S"`
flux="http://80.118.196.219/webtv-asx.cgi?channel=$chaine"
#player= "vlc"
echo " #####enregistrement d' une chaine neufbox :#####"
echo -n " entrer le nom du dossier où enregistrer :"
read recordpath
echo "Vous allez enregistrer dans le dossier : $recordpath"
function main ()
{
choix=`zenity --list --height=640 --title="Chaines a enregistrer" \
--column="ID" --column="Flux" \
"01" "France 2" \
"02" "France 3" \
"03" "France 5" \
"04" "Arte" \
"05" "Direct 8" \
"06" "NT1" \
"07" "NRJ 12" \
"08" "Lcp" \
"09" "France 4" \
"10" "BFM TV" \
"11" "TV5 Monde" \
"12" "France O" \
"13" "Euronews" \
"14" "Aljazeera" \
"15" "Liberty Tv" \
"16" "Beur TV" \
"17" "NRJ Hits" \
"18" "Video Click" \
"19" "KTO" \
"20" "cliquer sur annuler pour arreter" \
`
if [ $? = 0 ]
then
killall vlc
case $choix in
01 ) chaine= "france_2" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
02 ) chaine= "france_3" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
03 ) chaine= "france_5" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
04 ) chaine= "arte" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
05 ) chaine= "direct_8" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
06 ) chaine= "nt1" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
07 ) chaine= "nrj12" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
08 ) chaine= "lcp" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
09 ) chaine= "france_4"| screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
10 ) chaine= "bfm_tv" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
11 ) chaine= "tv5_monde" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
12 ) chaine= "france_o" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
13 ) chaine= "euronews" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
14 ) chaine= "aljazeera" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
15 ) chaine= "liberty_tv"| screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
16 ) chaine= "beur_tv" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
17 ) chaine= "nrj_hits" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
18 ) chaine= "video_click" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
19 ) chaine= "kto" | screen -d -m vlc -vvv "$flux" --sout '#standard{access=file,mux=ps,dst="'"$recordpath"'/'"$filename"'.mpg"}' -Idummy & ;;
esac
else
killall vlc
exit 0
fi
}
while :
do main
done
pc: amd64X2 / 10.10 |portable: hercules eCAFE ec800/ karmic koala
asrock aliveNF6G-DVI | amd geode lx800
DDR2 2048/800Mhz | 512 mo
DD serial ata2 250 Go | 20 go
Hors ligne
#2 Le 09/10/2009, à 13:04
- AnsuzPeorth
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
Bjr,
http://forum.ubuntu-fr.org/viewtopic.php?pid=2919358#p2919358
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#3 Le 09/10/2009, à 13:36
- tuxmax
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
merci de ta reponse
pc: amd64X2 / 10.10 |portable: hercules eCAFE ec800/ karmic koala
asrock aliveNF6G-DVI | amd geode lx800
DDR2 2048/800Mhz | 512 mo
DD serial ata2 250 Go | 20 go
Hors ligne
#4 Le 09/10/2009, à 16:17
- AnsuzPeorth
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
merci de ta reponse
Je me trompe peut être, mais je sens comme une pointe d'agacement dans ton intervention ?
Je t'envoyais vers ce post pour que tu y récupères l'archives et que tu y prenne ce qui t'intéresse !
Si tu veux des idées d'amélioration :
- Récupérer le m3u sur le net
- zenity --notification pour arrêter l'enregistrement par exemple (et tu auras un repère visuelle d'un rec en cours)
- Pour le choix de la destination de l'enregistrement, pourquoi pas une boite de dialogue zenity (zenity --file-selection)
Pour le fonctionnement :
-Pour la liste zenity , apres recup du m3u,le modifier avant l'envois dans zenity, genre: (attention aux espaces )
chaine add_flux
en sortie, tu récupère l'adresse du flux uniquement pour le donner à vlc (cela évitera le case).
-Pour l'arret de l'enregistrement, un killall vlc n'est pas top. Mes essais de l'époque me donné des fichiers illisibles, c'est pour ça que j'utilise l'interface http pour arrêter "proprement" vlc (plus d'erreurs)
-Pour info, l'encodage en mpg ne fonctionne pas chez moi, donc chez d'autres sûrement également !
Et pour finir, regarde du coté de gtkdialog plutôt que zenity, tu pourras faire de plus jolies interfaces !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#5 Le 09/10/2009, à 16:24
- tuxmax
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
non aucun agacement et j' ai fais ce que tu dis , j' etudie ton script. De plus, c' est sympa de m' expliquer. Je vais etudie gtkdialog;
Pour le killall , je lis le fichier avec gnome-mplayer et ca marche nickel . ( sauf le son decallé , mais ca, ca doit etre l' enregistrement) .
pc: amd64X2 / 10.10 |portable: hercules eCAFE ec800/ karmic koala
asrock aliveNF6G-DVI | amd geode lx800
DDR2 2048/800Mhz | 512 mo
DD serial ata2 250 Go | 20 go
Hors ligne
#6 Le 13/10/2009, à 18:15
- tuxmax
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
nouveau probleme :
je suis passé sous gtk dialog et je cherche a savoir comment faire pour ouvrir une autre fenetre pour choisir le dossier ou enregistrer, en cliquant sur un bouton .
pc: amd64X2 / 10.10 |portable: hercules eCAFE ec800/ karmic koala
asrock aliveNF6G-DVI | amd geode lx800
DDR2 2048/800Mhz | 512 mo
DD serial ata2 250 Go | 20 go
Hors ligne
#7 Le 13/10/2009, à 22:58
- AnsuzPeorth
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
Bsr,
regarde les exemples de la doc
/usr/share/doc/gtkdialog/examples
Sur ce forum, tu trouveras également pas mal matière
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#8 Le 14/10/2009, à 14:15
- tuxmax
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
c' est bon j' ai trouve le site que je chercher ! Par contre je ne comprends pas bien comment tu fais pour extraire la liste de chaines et recuperer les adresses .
tree exported_column="1">
<height>300</height><width>130</width>
<variable>TREE</variable>
<label>Chaines|flux</label>
<action signal="cursor_changed">refresh:RENOM</action>
<input>cat "$PATH_SCRIPT/addstream.txt"</input>
<action>wget "http://localhost:8080/requests/status.xml?command=pl_empty" -O /dev/null</action>
<action>wget "http://localhost:8080/requests/status.xml?command=in_play&input=$TREE" -O /dev/null</action>
</tree>
pc: amd64X2 / 10.10 |portable: hercules eCAFE ec800/ karmic koala
asrock aliveNF6G-DVI | amd geode lx800
DDR2 2048/800Mhz | 512 mo
DD serial ata2 250 Go | 20 go
Hors ligne
#9 Le 14/10/2009, à 14:22
- AnsuzPeorth
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
Bjr,
Il faut récuperer avant le lancement du gui, mettre le resultat dans un fichier, et le donner à manger au tree de gtkdialog.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#10 Le 14/10/2009, à 14:32
- tuxmax
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
c' est le code qu'il y a en debut de ton script alors ?
pc: amd64X2 / 10.10 |portable: hercules eCAFE ec800/ karmic koala
asrock aliveNF6G-DVI | amd geode lx800
DDR2 2048/800Mhz | 512 mo
DD serial ata2 250 Go | 20 go
Hors ligne
#11 Le 14/10/2009, à 14:39
- AnsuzPeorth
Re : Script pour enregistrer les chaines de la neufbox ( sur Pc)
[ ! -e ./addstream.txt ] && curl http://televisionsurpc.neuf.fr/televisionsurpc.m3u | sed '1d' | sed 'N;s/\r\n/|/g' | cut -d "," -f2 > addstream.txt
Je verifie si le fichier addstream.txt existe, si non, je le telecharge, supprime la premiere ligne, joint les ligne 2 à 2 et remplace les retour chariot et passages à la ligne par un | pour gtkdialog.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne