#401 Le 09/11/2008, à 17:59
- yamo
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
salut
je cherche un script pour imprimer l'arborescence d'un dossier, quelqu'un a ça ?
merci
Du style :
ls -alt ~/* | lpr
ou j'ai mal compris la question?
Stéphane
--
Debian 9 XFCE Xubuntu 16.04.2 - #ubuntu sur freenode
sudo / matrix
Hors ligne
#402 Le 09/11/2008, à 18:15
- yamo
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
teet a écrit :salut
je cherche un script pour imprimer l'arborescence d'un dossier, quelqu'un a ça ?
merciDu style :
ls -alt ~/* | lpr
ou j'ai mal compris la question?
Attention cette commande fonctionne un peu trop bien (j'ai un imprimante branchée sur un routeur mais où ne peut pas tuer la tâche d'impression! )...
Donc je remplacerais cette commande par :
ls -alt ~/Bureau/ | lpr
yamo, ou le retour du ver qui s'attaquait aux imprimantes
Stéphane
--
Debian 9 XFCE Xubuntu 16.04.2 - #ubuntu sur freenode
sudo / matrix
Hors ligne
#403 Le 09/11/2008, à 19:25
- teet
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
oui un peu comme ça mais en script : j'ai un dossier avec sous-dossiers et je voudrai imprimer la liste des s/dossiers pour en faire par exemple une jaquette cd.
manger du castor et vous sauverez un arbre !
ubuntu user 6419
Hors ligne
#404 Le 10/11/2008, à 21:44
- Ubuntu-Noobie
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour à tous,
Je cherche un script qui me monterai mon disk externe à l'allulage de mon pc... quelqu'un peut me faire cette petite ligne?
Merci!!
"Quand on voit ce qu'on voit, qu'on entend ce qu'on entend... on a raison de penser ce qu'on pense" [coluche]
Hors ligne
#405 Le 10/11/2008, à 22:35
- wido
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Pas besoin d'un script pour monter un disque dur externe.
il suffit de lancer :
sudo fdisk -l
tu reperes la ligne qui fait réferencer à ton disque dur (/dev/hdbX)
tu crées un dossier /media/bidule, il faut être en root
sudo mkdir /media/bidule
et tu l'ajoutes au fstab:
/dev/hdbX /media/bidule ntfs-3g rw,auto 0 0
Note: hdbX dibule sont à modifier par tes valeurs
http://doc.ubuntu-fr.org/tutoriel/comme … permanente
Dernière modification par wido (Le 10/11/2008, à 22:36)
Hors ligne
#406 Le 11/11/2008, à 09:13
- Ubuntu-Noobie
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Ah ok, merci!
"Quand on voit ce qu'on voit, qu'on entend ce qu'on entend... on a raison de penser ce qu'on pense" [coluche]
Hors ligne
#407 Le 15/11/2008, à 19:49
- andrelec1
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjours voila je voudrais faire un script qui ce lance au démarrage et qui écrie des chose dans un fichier html et fini par reboot le pc mais j'ai besoin de quelque commande !
Reboot sans demande de mdp ( ou exécuter le script en root )
Faire un echo avec le temps qu'il reste avec qu'il reste avant le reboot dans un html ( ou php )
alors voila ce que devras faire le script final :
Le pc boot :
- Copie du contenue de index1.php dans index.php
- Lancer un deconte et le retournee dans une page html (toute les minute au minimum et toute les 5 minute au max )
- 5 minute avant le reboot
- copier index.php dans index1.php
- copier indexreboot.php dans index.php
- reboot
et on recommence
comment faire ??
Je crois que mes chances avec elle sont tellement mince que si on gravait des processeurs a cette epaisseur on atteindrait les 12 ghz.
████████████████████████████
█████████ Black -Out ███████████
████████████████████████████
Hors ligne
#408 Le 16/11/2008, à 09:48
- Ras'
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bon vu que c'est quand même facile je vais quand même t'aider
Pour copier une variable dans un fichier il faut faire
"echo $var > fichier" ça le met dans le fichier
"echo $var >> fichier" ça le met à la fin, après le reste (ça écrase pas le fichier avant donc)
pour copier un fichier c'est "cp fichier_à_copier nouveau_fichier"
pour déplacer un fichier (donc ce que tu veux ici) c'est "mv index.php index1.php"
pour rebooter c'est reboot ^^
Pour que ton script se lance au démarrage il faut que tu ailles dans "Systèmes > Préférences > Session > Programmes au démarrage > Ajouter > ton_script" ou que tu le mette dans /etc/init.d ou un truc comme ça, cherche dans le forum.
Pour reboot sans mot de passe tu peux aller voir ici : http://forum.ubuntu-fr.org/viewtopic.php?pid=2122502 et tu adaptes à ton cas, donc au lieu de metter shutdown tu met reboot ( et tu test en normal avant de tester dans ton script hein )
Voilà t'as plus qu'a mettre tout ça en forme sachant que quand tu sais pas comment marche une commande tu fais "man la_commande"
Bon dimanche
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#409 Le 30/11/2008, à 12:14
- Julientroploin
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bon si j'ai bien compris, c'est ici qu'on demande de l'aide aux gens qui savent parler aux machines...
Bon, mon problème (posté ailleur sans résolution pour l'instant) : impossible de faire démarrer xcompmgr au démarrage de ma session LXDE. Et mon dock n'apparait pas à l'écran tant que le composite n'est pas activé.
Mon idée : mettre un script sur le bureau pour le démarrer en un double-clic.
Ce que j'ai fais : j'ai créé un fichier texte sur le bureau j'y ai mis :
xcompmgr -c -f
et j'ai donné les droits d'exectution au fichier.
Jusque là je suis content de moi : c'est mon premier script
Mais bon j'aimerais l'améliorer un peu mais j'en suis incapable seul...
En langage humain, voila ce que je voudrais :
1-Vérifie si xcompmgr tourne (je suppose que c'est indispensable avant de faire les étapes 2 et 3)
2-Si non, démarre le avec xcompmgr -c -f
3-Si oui, arrete le (ben oui, des fois il me cause des problèmes... ça m'éviterait de lancer le moniteur système pour le "Terminer" voire le "Tuer")
Ca doit pas être compliqué... quand on sait faire.
Non?
Fixe : Core i5, 8GoRAM, NVidia 9800GT Silent => Ubuntu 22.04
Portable Compaq Presario2158 : AthlonXP-M2400+, 1GoRAM, ATI Radeon mobility320M => Primtux
https://launchpad.net/~julienmbpe
Hors ligne
#410 Le 30/11/2008, à 14:00
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Yop cela devrait repondre a t'as demande
#!/bin/bash
#
################################
EXEC='xcompmgr -c -f'
if [ ! "$(pidof xcompmgr)" ]; then
$EXEC
else
killall xcompmgr
fi
exit 0
fi
Dernière modification par n3o51 (Le 30/11/2008, à 14:00)
Welcome to the real world
________________________________
Hors ligne
#411 Le 30/11/2008, à 17:58
- Julientroploin
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Super, ton script fait exactement ce que je demandais... malheureusement il a une sorte d'effet secondaire : mon dock (avant-window-manager) réappartait au centre (horizontalement ET verticalement) de l'écran lorsque le compositer est réactivé...
du coup, je me demande si il ne faut pas tuer et redémarrer les deux : le compositer et awn
J'ai essayé :
#!/bin/bash
#
################################
EXEC='avant-window-navigator&xcompmgr -c -f'
if [ ! "$(pidof xcompmgr)" ]; then
$EXEC
else
killall xcompmgr
killall avant-window-navigator
fi
exit 0
fi
mais ça doit pas être ça, plus rien ne se passe
j'aurais au moins testé... encore un coup de main?
Et je vais encore pousser un peu : comme le script est sur le bureau, c'est pas possible de lui dire de mettre un joli icone? (sinon c'est pas une cata non plus...)
Fixe : Core i5, 8GoRAM, NVidia 9800GT Silent => Ubuntu 22.04
Portable Compaq Presario2158 : AthlonXP-M2400+, 1GoRAM, ATI Radeon mobility320M => Primtux
https://launchpad.net/~julienmbpe
Hors ligne
#412 Le 30/11/2008, à 19:57
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
plop bon alors
je pense que c'est normal bon je connais pas xcompmgr c'est un composite et AWN a besoin de lui pour fonctionner
Quand tu ecrit un script il faut suivre cette logique puis ce que le script fonctionne comme tu l'ecrit donc pour que ca fonctionne
je ferais plutot
#!/bin/bash
#
################################
EXEC=' xcompmgr -c -f'
if [ ! "$(pidof xcompmgr)" ]; then
$EXEC &
sleep 10; # on attends que xcompmgr ce lance
avant-window-navigator &
else
killall xcompmgr
killall avant-window-navigator
fi
exit 0
fi
devrait mieux fonctionner ?
Welcome to the real world
________________________________
Hors ligne
#413 Le 30/11/2008, à 21:14
- Julientroploin
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Nickel cette fois... Merci
Par contre j'ai fais des tests en diminuant progressivement jusqu'à sleep 1 et ça marchait toujours donc j'ai mis la ligne en commentaire. et ça mrche.
Le problème devait venir de ma synthaxe pourrie. mais c'est bien tu m'a appris une nouvelle commande (ce qui double presque mes connaissances...)
Merci encore.
Fixe : Core i5, 8GoRAM, NVidia 9800GT Silent => Ubuntu 22.04
Portable Compaq Presario2158 : AthlonXP-M2400+, 1GoRAM, ATI Radeon mobility320M => Primtux
https://launchpad.net/~julienmbpe
Hors ligne
#414 Le 30/11/2008, à 22:04
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
le probleme venait d'une part de la variable exec qui ne fonctionne pas
Ensuite si tu veut mettre tout dans une variable fait comme ca :
EXEC='xcompmgr -c -f && avant-window-navigator'
ca devrait fonctionner aussi
Content d'avoir repondu a t'as demande
Welcome to the real world
________________________________
Hors ligne
#415 Le 02/12/2008, à 17:34
- damien92
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
salut,
But du script
ce script vérifie l'age du programme TV téléchargé et le télécharge si il est périmer.
Cela évite de le télécharger tous les jours et/ou de se retrouver sans programme tv ou avec freevo qui dit :"programme tv éronner" et n'affiche pas le tv.
prérequi
Avoir un logiciel qui utilise le programme tv et configuré tel tvtime ou freevo.
avoir installer xmltv et l'avoir configurer
astuce
lancer le script dans un cron toutes les heures par exemple.
utilisation
copier coller le code ci-dessous dans un fichier texte et changer les droit pour autoriser l'exécution(clique droit propriété permission autoriser pour exécution)
#!/bin/bash
#définitions des variables
path_prog_tv=~/.freevo/TV.xml #chemin et nom du fichier de programme tv
nb_jour=2 #nombre de jour à télécharger
path_log=~/.freevo/log/progtv.log #chemin du fichier de log
aujourdhui2=$(date) #récupération de la date du jour format standard
aujourdhui=$(date +'%j'); #récupération du jour de l'année de 1 à 366
#test de la présence du fichier de programme tv
if [ -e $path_prog_tv ]; then
{
echo "Programme tv présent" #il y en a un donc on ne fait rien
}
else
{
tv_grab_fr --slow --output $path_prog_tv --days 2 #il n'y en a pas on le télécharge
echo "Programme tv télécharger le : "$aujourdhui2 >> $path_log
}
fi
age=$(date +'%j' -r $path_prog_tv ); #récupération du jour de l'année de création du fichier de programme tv
echo "jour de création du programme tv : " $age" éme jour de l'année"
echo "nous somme le "$aujourdhui " éme jour de l'année";
dif=$(($aujourdhui-$age)); #calcul de l age
echo "age programme tv :"$dif "jour(s)"
#test la présence du fichier de log le crée s'il n'est pas la.
if [ -e $path_log ]; then
{
echo "Fichier de log présent"
}
else
{
echo "fichier de log du programme TV" > $path_log
}
fi
#test de l'age du fichier si il es périmer on le retélécharge
if [[ $dif > $nb_jour ]] ;then # à ajouter pour le chgangement d'année mais ca ne marche pas || [ $dif < -1 ]
{
tv_grab_fr --slow --output $path_prog_tv --days $nb_jour
echo "fichier télécharger le : "$aujourdhui2 >> $path_log
}
else
{
echo "fichier à jour le : "$aujourdhui2 >> $path_log
}
fi
exit 0
a+
Dernière modification par damien92 (Le 04/12/2008, à 18:41)
Hors ligne
#416 Le 02/12/2008, à 20:10
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut déjà sympa de partager ce script , mais quand même pourrais tu suivre la logique du topic.
Le but premier de celui-ci est d'une part de donner a des personnes la possibilité de demander qu'on leur en créer un.
D'autre part on peut y déposer nos scripts utiles
Sache que des personnes qui passent sur ce forum qui on installés ubuntu pour la première fois Ubuntu passerons sur ce forum . J' extrapole peut-être un peut mais vont copier bêtement ton script
Et cinq minutes après posterons sur le forum .
Donc merci de lire le premier post du topic et de faire ce qui est demandé.
→ But ?
→ Dépendances ?
→ Etc ...
→ Comment utilisés celui-ci ?
Aussi si tu pouvait éviter les liens en dur
Merci !!!
EDIT : le premier post a disparu , désole mais le troisième est une bonne base .
Dernière modification par n3o51 (Le 02/12/2008, à 20:17)
Welcome to the real world
________________________________
Hors ligne
#417 Le 02/12/2008, à 20:39
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
AfterDown V 1.0
I . But de ce script :
Voila j'ai un ami qui télécharge beaucoup avec Downthemall (gestionnaire de telechargement pour firefox).
Et qui en avait assez de laisser tourner toute la nuit son ordinateur pour un telechargement terminer.
Donc ce script va permettre d'eteindre votre ordinateur aprés fermeture de Downthemall.
II . Dépendances et pré requis
1. Avoir installés Zenity ( normalement installés par défaut sous Ubuntu).
2. Faire en console :
sudo chmod +s /sbin/shutdown
Note : J'ai demander une meilleur solution sur ce topic http://forum.ubuntu-fr.org/viewtopic.php?id=274878 mais je n'es toujours pas de réponse la solution d'edition du fichier /etc/sudoers ne fonctionnant vissiblement pas sous Ubuntu
3. Aprés avoir copier le contenu du script si dessous lui donner les droits en execution
chmod +x $nom_du_script
4. Il faut aussi aller dans les préferences de Downthemall puis onglets principal et coché fermer downthemall apres les telechargement. Note : Firefox doit lui aussi etre fermés
5. Une tache cron peut etre ajoutez a vous de voir mais je conseillerai plutot de lancer le script apres avoir lancer les télechargement via Downthemall .
III . Le script
#!/bin/bash
# AfterDown.sh V 1.0
################################
# Avant exécution faire sudo chmod +s /sbin/shutdown dans un terminal
# ################################################## #
# Ce script permet d'arretter l'ordinateur aprés #
# fin des telechargements avec DownthemAll #
# #
# #
# ################################################## #
# Script créer par N3o51 sur une idée de Xeno
## Fonction Menu Choix d'arrêter la programmation ou de continuer en indiquant une nouvelle durée
## Le temps seras définit en Mn
function MENU {
ACT=$(zenity --list --checklist --width=400 --height=350 --title "L'extinction programmé de votre ordinateur a été suspendu" --text="Veuillez sélectionnez les informations demandés:" \
--column="Sélection" --column="" --column="Catégories" --hide-column=2 \
FALSE SUSP "Suspendre l'arrét automatique" \
FALSE REPO "Reporter l'arrêt automatique" )
if [ $? != 0 ] ; then
zenity --info --title="Fin du script !" --text="Merci d'avoir utilisé ce script. \n
Bonne journée ! \n
N3o"
exit 0
fi
case $ACT in
## Choix 1 → Arrêt du script avec Notification via zenity
SUSP)
zenity --info --title="Fin du script !" --text="Merci d'avoir utilisé ce script.
\n Bonne journée !
\n N3o"
exit 0
;;
REPO)
## Choix deux on reporte l'extinction de l'ordinateur
argument=$(zenity --entry --text="Quand souhaitez arrêter l'ordinateur ?" --entry-text="Temps en minute EX: pour 10 mn mettre +10" --title="Arrêter")
if [ ! $argument ] ; then exit
else
/sbin/shutdown -h +$argument
fi
if [ $? != 0 ] ; then
zenity --info --title="Fin du script !" --text="Merci d'avoir utilisé ce script. \n
Bonne journée ! \n
N3o"
exit 0
fi
break
;;
esac
}
while true; do
## On vérifie l'état d'exécution de firefox ## Downthemall utilise Firefox
if [ ! "$(pidof firefox)" ]; then
## Firefox étant terminé un arrêt est programmé a 3 minute
## Prévu de façon a laissé le temps d'annuler l'opération
/sbin/shutdown -h +3&
## Information notifier a l'utilisateur
zenity --info --title='Verification' --text="Votre ordinateur va redémarrer.
\n Annuler cette opération
\n Simplement en cliquant sur valider"
## Annulation de l'utilisateur
/sbin/shutdown -c
## Lancement du Menu
MENU
break
fi
done
exit 0;
Bonne utilisation !!
J'espère qu'il serviras a d'autre
Dernière modification par n3o51 (Le 03/12/2008, à 17:21)
Welcome to the real world
________________________________
Hors ligne
#418 Le 04/12/2008, à 23:16
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
salut,
But du scriptce script vérifie l'age du programme TV téléchargé et le télécharge si il est périmer.
Cela évite de le télécharger tous les jours et/ou de se retrouver sans programme tv ou avec freevo qui dit :"programme tv éronner" et n'affiche pas le tv.prérequi
Avoir un logiciel qui utilise le programme tv et configuré tel tvtime ou freevo.
avoir installer xmltv et l'avoir configurerastuce
lancer le script dans un cron toutes les heures par exemple.utilisation
copier coller le code ci-dessous dans un fichier texte et changer les droit pour autoriser l'exécution(clique droit propriété permission autoriser pour exécution)
#!/bin/bash #définitions des variables path_prog_tv=~/.freevo/TV.xml #chemin et nom du fichier de programme tv nb_jour=2 #nombre de jour à télécharger path_log=~/.freevo/log/progtv.log #chemin du fichier de log aujourdhui2=$(date) #récupération de la date du jour format standard aujourdhui=$(date +'%j'); #récupération du jour de l'année de 1 à 366 #test de la présence du fichier de programme tv if [ -e $path_prog_tv ]; then { echo "Programme tv présent" #il y en a un donc on ne fait rien } else { tv_grab_fr --slow --output $path_prog_tv --days 2 #il n'y en a pas on le télécharge echo "Programme tv télécharger le : "$aujourdhui2 >> $path_log } fi age=$(date +'%j' -r $path_prog_tv ); #récupération du jour de l'année de création du fichier de programme tv echo "jour de création du programme tv : " $age" éme jour de l'année" echo "nous somme le "$aujourdhui " éme jour de l'année"; dif=$(($aujourdhui-$age)); #calcul de l age echo "age programme tv :"$dif "jour(s)" #test la présence du fichier de log le crée s'il n'est pas la. if [ -e $path_log ]; then { echo "Fichier de log présent" } else { echo "fichier de log du programme TV" > $path_log } fi #test de l'age du fichier si il es périmer on le retélécharge if [[ $dif > $nb_jour ]] ;then # à ajouter pour le chgangement d'année mais ca ne marche pas || [ $dif < -1 ] { tv_grab_fr --slow --output $path_prog_tv --days $nb_jour echo "fichier télécharger le : "$aujourdhui2 >> $path_log } else { echo "fichier à jour le : "$aujourdhui2 >> $path_log } fi exit 0
a+
Bonjour et merci pour ton script.
Tu laisse un commentaire comme quoi le changement d'année ne fonctionne pas, or nous nous en rapprochons de plus en plus !!!
Je pense que cette ligne ne rend jamais de nombre négatif :
dif=$(($aujourdhui-$age));
Par contre il doit être possible de comparer directement $aujourdhui à $age
si $age (ex : 365) est supérieur à $aujourdhui (ex : 1) alors on a changé d'année.
on peut donc calculer $dif par :
dif=$((365+$aujourdhui-$age))
Restera ensuite à régler le problème des années bisextiles !
Dernière modification par draco31.fr (Le 04/12/2008, à 23:17)
Hors ligne
#419 Le 05/12/2008, à 00:08
- Shrat
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Solution laide à ce genre de problèmes sur mon script de téléchargement de cdanslair...
Hors ligne
#420 Le 05/12/2008, à 17:35
- damien92
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
si dif peu être négatif lorsque le fichier à été télécharger le 31 décembre age renvoi 366 ou 355 selon l'année ensuite lorsqu'on lance le script le 1 janvier alors on fait 1-366=-365 donc ceci est toujours inferieur à l'age du fichier et donc on ne télécharge jamais la solution simple consiste à supprimer le ficher le 1 janvier .
a+
Hors ligne
#421 Le 05/12/2008, à 18:22
- pmd
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Convertissez votre date en timestamp puis comparez. Non ?
(J'ai pas _du tout_ regardé le script et je me base sur les deux dernières réponses)
Hors ligne
#422 Le 05/12/2008, à 19:37
- damien92
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
c'est quoi des timestamps?
Hors ligne
#423 Le 05/12/2008, à 20:36
- n3o51
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Le timestamp unix représente le nombre de secondes écoulées depuis le 1er janvier 1970 à minuit GMT.
Exemple : 05/12/2008 20:35:46 → 1228505746
Tmestamps en date →
En shell avec awk :
echo 1173279767 | awk '{print strftime("%c",$1)}'
En shell avec date :
TIMESTAMP=1173279767
date -d "1970-01-01 $TIMESTAMP sec GMT"
Je me rappelle plus comment avoir la date en timestamp en shell desolé
Dernière modification par n3o51 (Le 05/12/2008, à 20:44)
Welcome to the real world
________________________________
Hors ligne
#424 Le 05/12/2008, à 21:34
- toufalk
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
But du script
Voilà, j'ai fait un petit script de "stop motion".
Ce script prend des photos via votre webcam régulièrement.
A la fin de l'enregistrement il encode ça en film format mpeg et efface toutes les images.
Si vous n'avez rien compris, voici un exemple ici, un autre là. Ces vidéos ne sont pas de moi, juste pour vous montrer à quoi ça peut ressembler.
dépendance
Nécessite uvccapture imagemagic mencoder
options disponibles
Les options du scripts sont le nombre de secondes entre chaque prise (d), le nombre d'images par seconde dans le film (r) et le nombre de secondes d'enregistrement (s). Chez moi, photo+screenshot prend une environ seconde.
Si vous ne spécifiez pas de temps, l'enregistrement se fera sur un an (prévoyez de la place sur votre disque dur ). Vous pouvez stopper l'enregistrement à tout moment avec [ctrl]+C. Ensuite pour encoder le film, il vous suffit de relancer le script avec l'option -f.
Si vous donner l'option -c, le script prendra des screenshots de l'écran et y incruste la photo de votre webcam en haut à gauche... Pour vous regarder travailler.
#!/bin/bash
# packages nécessaires : uvccapture imagemagic mencoder
fps="25" # frame-per-seconds (option -f)
spi="5" # second-per-images (option -e)
tempo="31536000" # tempo d'origine : un an !
function usage {
nom=$(basename $0)
echo -e "$nom usage : $nom [-d spi] [-cefh] [-r fps] [-s sec]\n\
\th\taide\n\
\te\tcommence l'enregistrement (defaut)\n\
\tf\tfinalise la video\n\
\tc\tinsere un screenshot\n\
\td spi\tsecond-per-image de l'enregistrement (defaut:$spi)\n\
\ts sec\tnombre de seconde d'enregistrement (defaut:$tempo)\n\
\tr fps\tframe-per-second du film (defaut:$fps)\n"
exit 1
}
function enregistrer {
n="0"
maintenant=$(date +%s)
time_fin=$(( maintenant + tempo ))
while [ ${maintenant} -lt ${time_fin} ]
do
nn="$n"
while [ ${#nn} -lt 3 ]
do
nn="0${nn}"
done
if [ "${shot}" = "1" ]
then
uvccapture -m -t0 -x160 -y120
import -window root -resize 640 "screen.jpg"
composite -gravity Northwest "snap.jpg" "screen.jpg" "motion-${nn}.jpg"
else
uvccapture -m -t0 -x640 -y480
mv "snap.jpg" "motion-${nn}.jpg"
fi
sleep ${spi}
n=$(( n+1 ))
maintenant=$(date +%s)
done
finaliser
}
function finaliser {
mencoder "mf://motion-*.jpg" -mf fps=${fps} -o motion.mpeg -ovc lavc -lavcopts vcodec=mpeg4
rm -f motion-*.jpg snap.jpg screen.jpg dix2pass.log
}
shot="0"
stofin="1"
#### GESTION OPTIONS ####
while getopts ":cd:efhr:s:" opt
do
case $opt in
c) shot="1" ;;
d) spi="$OPTARG" ;;
e) stofin="1" ;;
f) stofin="2" ;;
h) usage ;;
r) fps="$OPTARG" ;;
s) tempo="$OPTARG" ;;
\?) echo 'Option bizare !!'
exit 1 ;;
esac
done
case $stofin in
1) enregistrer ;;
2) finaliser ;;
*) echo "erreur etrange..."
usage ;;
esac
installation
Comme d'hab. On copie-colle le script dans un fichier (par exemple stop-motion.sh), on rend le script exécutable (chmod +x stop-motion.sh).
Je ne sais pas si c'est un script vraiment utile, mais bon... pourquoi ne pas le partager !
Hors ligne
#425 Le 05/12/2008, à 22:13
- MimileVadrouille
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
But du script
Voilà, j'ai fait un petit script de "stop motion".
Ce script prend des photos via votre webcam régulièrement.
A la fin de l'enregistrement il encode ça en film format mpeg et efface toutes les images.
Si vous n'avez rien compris, voici un exemple ici, un autre là. Ces vidéos ne sont pas de moi, juste pour vous montrer à quoi ça peut ressembler.dépendance
Nécessite uvccapture imagemagic mencoderoptions disponibles
Les options du scripts sont le nombre de secondes entre chaque prise (d), le nombre d'images par seconde dans le film (r) et le nombre de secondes d'enregistrement (s). Chez moi, photo+screenshot prend une environ seconde.Si vous ne spécifiez pas de temps, l'enregistrement se fera sur un an (prévoyez de la place sur votre disque dur ). Vous pouvez stopper l'enregistrement à tout moment avec [ctrl]+C. Ensuite pour encoder le film, il vous suffit de relancer le script avec l'option -f.
Si vous donner l'option -c, le script prendra des screenshots de l'écran et y incruste la photo de votre webcam en haut à gauche... Pour vous regarder travailler.
#!/bin/bash # packages nécessaires : uvccapture imagemagic mencoder fps="25" # frame-per-seconds (option -f) spi="5" # second-per-images (option -e) tempo="31536000" # tempo d'origine : un an ! function usage { nom=$(basename $0) echo -e "$nom usage : $nom [-d spi] [-cefh] [-r fps] [-s sec]\n\ \th\taide\n\ \te\tcommence l'enregistrement (defaut)\n\ \tf\tfinalise la video\n\ \tc\tinsere un screenshot\n\ \td spi\tsecond-per-image de l'enregistrement (defaut:$spi)\n\ \ts sec\tnombre de seconde d'enregistrement (defaut:$tempo)\n\ \tr fps\tframe-per-second du film (defaut:$fps)\n" exit 1 } function enregistrer { n="0" maintenant=$(date +%s) time_fin=$(( maintenant + tempo )) while [ ${maintenant} -lt ${time_fin} ] do nn="$n" while [ ${#nn} -lt 3 ] do nn="0${nn}" done if [ "${shot}" = "1" ] then uvccapture -m -t0 -x160 -y120 import -window root -resize 640 "screen.jpg" composite -gravity Northwest "snap.jpg" "screen.jpg" "motion-${nn}.jpg" else uvccapture -m -t0 -x640 -y480 mv "snap.jpg" "motion-${nn}.jpg" fi sleep ${spi} n=$(( n+1 )) maintenant=$(date +%s) done finaliser } function finaliser { mencoder "mf://motion-*.jpg" -mf fps=${fps} -o motion.mpeg -ovc lavc -lavcopts vcodec=mpeg4 rm -f motion-*.jpg snap.jpg screen.jpg dix2pass.log } shot="0" stofin="1" #### GESTION OPTIONS #### while getopts ":cd:efhr:s:" opt do case $opt in c) shot="1" ;; d) spi="$OPTARG" ;; e) stofin="1" ;; f) stofin="2" ;; h) usage ;; r) fps="$OPTARG" ;; s) tempo="$OPTARG" ;; \?) echo 'Option bizare !!' exit 1 ;; esac done case $stofin in 1) enregistrer ;; 2) finaliser ;; *) echo "erreur etrange..." usage ;; esac
installation
Comme d'hab. On copie-colle le script dans un fichier (par exemple stop-motion.sh), on rend le script exécutable (chmod +x stop-motion.sh).Je ne sais pas si c'est un script vraiment utile, mais bon... pourquoi ne pas le partager !
tout simplement bravo!!!!
Merci
Hors ligne