Poster une réponse à un sujet: Cron qui ne démarre pas le programme
Attention, ce sujet est un sujet ancien (5870 jours sans réponse)
FA
Bonjour,

J'ai exactement le même souci ; j'ai suivi les mêmes consignes et vlc refuse de faire quoique ce soit en tâche.
Éventuellement, lancé à la main il fait un semblant de capture du flux.

export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1 &

Lancé en root me crée une capture de 4 octets ! Pas de message d'erreur, pas d'arrêt du programme.

Via le script, en root,
#!/bin/sh
echo "début tâche"
killall vlc
echo "vlc tué"
export DISPLAY=":0.0"
echo "display changé"
export XAUTHORITY=/home/florent/.Xauthority
echo "authentification"
/usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1
echo "vlc lancé"

Idem sauf que j'ai des messages :

tail: /home/florent/Vidéo/log.txt: fichier tronqué
[00000274] dummy interface: using the dummy interface module...
[00000314] mux_ps private: Open
[00000303] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000314] mux_ps private: Close
[00000268] main playlist: nothing to play
signal 2 received, terminating vlc - do it again in case it gets stuck
[00000268] main playlist: stopping playback


Puisqu'il me dit "nothing to play", je vérifie le contenu de mon m3u :

#EXTM3U
#EXTVLCOPT:demux=podcast

#EXTVLCOPT:sout=#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mp3,ab=192,channels=- 2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/home/florent/Vidéo/emission.mpe- g}}
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=sd


Celui-ci fonctionne parfaitement bien dès lors que je l'ouvre depuis VLC lancé depuis gnome : il y a donc bien quelque chose à jouer.


Quant au cron, que ce soit pour lancer magneto.m3u ou directement
48 19 * * * florent -c export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>/tmp/vlc.txt &

Le résultat est le même.


Parfois, j'ai réussi à lancer vlc et obtenir une capture, mais c'était sous mon compte et en session graphique.



Actuellement, après une heure de manip et 10 000 tests, j'obtiens avec
/usr/bin/vlc /home/florent/Vidéo/magnetoArtesansimage.m3u >/home/florent/Vidéo/vlc.txt 2>&1 &
L'erreur
00000274] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000293] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000272] main input error: no suitable access module for `'
[00000316] mux_ps private: Open
[00000305] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000316] mux_ps private: Close
[00000320] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000321] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000319] main input error: no suitable access module for `'
[00000268] main playlist: nothing to play


Quelle est la solution svp ?

F.A.
Repi
Merci Zion.
zion
Le & c'était pour toi en ligne de commande, sous putty ainsi que le ctrl+z et bg %1, pas pour ton script :smile:

Mais content que cela fonctionne.
Repi
Voila, j'ai trouvé la solution et elle tourne au tour de l'interface de commande, donc bel et bien un rapport avec l'écran Putty.

Avec la commande dans mon script :
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
Vlc choisit une interface la plus appropriée selon lui(sortie http,interface de commande), dans mon cas l'écran du Putty. Lorsque l'on fait un cron, il ne trouve pas d'écran à afficher -> Erreur et il refuse de se lancer.

Si je rajoute -I dummy à ma commande, ce qui me donnera :
/usr/local/bin/vlc -I dummy /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'

je force vlc à ne pas afficher d'interface. Le & de Zion n'a pas d'effet. Merci à Max qui m'as bcp aidée et au autres aussi. Voila après 15 heures env. de recherche, le dossier est classé. Putain ça fait du bien.
Repi


Ajoute un & à la fin de ta commande simplement.
Sinon CTRL + Z puis bg %1 :smile:


J'ai ajouter & et il s'éteind tjrs. J'ai essayer avec :

vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'&

mais aussi avec :

vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}&'
Repi
Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:


21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log


Oui, Il y a un message d'erreur dans le nouveau fichier log :

Je vois que vlc s'initialise et inscrit :
Error opening terminal: Unknown

sans poursuivre de se lancer.

Je ne sais pas de quoi ça vient ?
zion

Lorsque je le lance dans le Putty et que je ferme la connexion, vlc s'éteind.


Ajoute un & à la fin de ta commande simplement.
Sinon CTRL + Z puis bg %1 :smile:
ovh
Précise les chemins pour TOUS les programmes que tu lances.

Exemple :
killall >> /usr/bin/killall

Souvent en cron c'est ça qui foire, il ne reconnaît aucun path.
Repi
Un bon truc aussi est de lancer l'environnement de l'utilisateur qui utilise le script en temps normal.

donc rajoute dans le script

. <home_du_user>/.profile

Le cron utilise le /etc/profile mais pas le profile du user.

Ou alors un su vers l'utilisateur du script dans le cron, de cette facon le .profile est execute.

* * 1 2 3 su - <user> -c "<tonscript>"


J'ai mis la deuxième possibilité mais ça ne marche pas.

Quand à" . <home_du_user>/.profile " avec root je sais pas comment suivre ton conseil. Peux-tu me donner plus de détail ? merci.

Mes fichier sont maintenant :

Pour crontab :
2 14 * * * su - root -c "/home/pire/tv.cmd" >>/home/pire/fichier.log
Pour le scrip (tv.cmd):
#!/bin/sh
killall vlc
export DISPLAY=:0.0
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'

Le script s'exécute toujours de façon manuelle.

Lorsque je le lance dans le Putty et que je ferme la connexion, vlc s'éteind. Peut-être que lorsque je lance le programme par le cron et comme il n' y a pas de fenêtre ouvert avec le Putty il ne s'allume pas !?? Je ne sais pas comment vérifié celà.
max
Le script fonctionne 'tout seul' ? Il ne manquerait pas un ' à la fin de la ligne de commande de vlc ? (ou bien c'est le résultat d'un copié/collé chaotique sur le forum et ma remarque n'a plus raison d'être)


Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:


21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log
Catégorie:  






Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?