Windows n’a commencé a devenir un système d’exploitation exploitable qu’avec la venue de Windows 2000 puis Windows XP. D’un autre côté, les différents Unix ont une maturité et une robustesse bien plus grande en la matière. En une seule ligne, un script shell peut faire une archive de sauvegarde, la compresser, et la découper en morceaux gérables par des médias amovibles.
L’archive peut faire 1 Mo ou 100 Go, le résultat sera le même et reproductible a l’envie.
La raison d’être de cette page est de donner des idées sur ce qui peut être scripté en environnement GNU/Linux, avec le souci de parcourir le last mile, intégrer le script aux activités de tous les jours.
Canon a cet excellent logiciel ZoomBrowser (sous Windows) pour gérer photos et vidéos issues de ses appareils photo.
On va s’attaquer ici à une de ses fonctionnalités en particulier : l’envoi par messagerie électronique d’une photo recompressée.
ZoomBrowser : deux clics de souris.
Ubuntu fraichement installé : euh, plus, beaucoup plus de clics, ou bien d’obscures commandes à taper au clavier et que j’aurai oubliées la prochaine fois que j’en aurai besoin.
Une fois n’est pas coutume, on va prendre une approche un peu plus générique.
Je suis en train de naviguer à travers mes fichiers multimédia sur mon disque dur, et j’aimerais en recompresser plusieurs d’entre eux. Certains pour ensuite les glisser-déplacer vers mon logiciels de mails et les envoyer en fichiers attachés, d’autres pour les publier sur le web.
mencoder avec les codecs Windows (w32codecs), lame, imagemagick.
Ce script shell sera sauvegardé sous /usr/local/bin/2petit, avec les droits d’execution pour tout le monde :
#!/bin/bash
for file in "$@"
do
case "$file" in
*.[aA][vV][iI])
rm -f frameno.avi divx2pass.log
mencoder -quiet -cache 1024 -idx "$file" -oac mp3lame -af-adv force=1 -lameopts preset=medium \
-srate 11025 -channels 1 -ovc frameno -o frameno.avi
mencoder -quiet -cache 1024 -idx "$file" -oac copy -ovc lavc \
-lavcopts vcodec=msmpeg4v2:vbitrate=496:vhq:vpass=1 -o /dev/null
mencoder -quiet -cache 1024 -idx "$file" -oac copy -ovc lavc \
-lavcopts vcodec=msmpeg4v2:vbitrate=496:vhq:vpass=2 -o "${file/.[aA][vV][iI]/}_petit.avi"
rm -f frameno.avi divx2pass.log
;;
*.[jJ][pP][gG])
convert -quality 90 -geometry 600×600 "$file" "${file/.[jJ][pP][gG]/}_petit.jpg"
;;
*.[mM][pP]3)
/usr/bin/lame -v -V 9 "$file" "${file/.[mM][pP]3/}_petit.mp3"
;;
esac
done
Le script recompresse les fichiers donnés en argument et enregistre la version recompressée dans le même repertoire.
Le script sera représenté sur le bureau par une icône. Elle est créée par un clic droit de la souris, la commande pointant vers /usr/local/bin/2petit et en prenant soin de cocher la case qui demande à ce que la commande tourne dans un terminal. Vous pouvez choisir l’icône que vous voulez, et vous pouvez ensuite la redimensionner à partir du bouton droit de la souris.
Vous devez avoir un lecteur flash pour pouvoir voir la vidéo. Le menu contextuel (clic droit de la souris) devrait vous permettre de l’examiner sous toutes ses coutures :
Pour ce qui est de la qualité… testez !
Les journaux télévisés de France 2 sont disponibles sur Internet, sur le site web de la chaîne. Jusque là, tout va très bien.
Par contre, le nombre de clics de souris nécessaires pour atteindre le journal est assez effrayant - quand une technologie à la Flash, Java script, greffon Java ou autre n’empêche pas purement et simplement d’y parvenir.
On va programmer ici une touche de la télécommande du PVR pour afficher le dernier journal de 20 h, en plein écran, directement à partir de l’interface de MythTV.
MythTV complètement installé et fonctionnel (y compris MythVideo), mplayer et w32codecs.
Ce concept d’utiliser mplayer pour visualiser des vidéos en ligne marche très bien avec MythTV 0.18 ; MythTV 0.19 et son lecteur vidéo intégré pourrait changer la donne.
Vous pouvez par exemple l’appeler france2, et le copier avec les droits d’exécution dans /usr/local/bin.
#!/bin/bash
if [ $# -ne 3 -a $# -ne 1 ]
then
echo "Syntax: $0 nn_day nn_month (13|20)"
exit 0
fi
ladate=20`date +"%y"`$2$1
journal=$3
if [ $# -eq 1 ]
then
echo "Assuming today’s date"
journal=$1
ladate=20`date +"%y%m%d" -d "14 hours ago"`
fi
mplayer -quiet -fs mms://sdmc.contents.edgestreams.net/horsgv/regions/siege/infos/f2/${journal}h/HD_${journal}h_${ladate}.wmv
Dans le fichier /home/mythtv/.lircrc (qui chez moi est en lien en dur avec /home/mythtv/.mythtv/lircrc), rajoutez
begin
prog = irexec
button = 9
config = /usr/local/bin/france2 20
end
Étant entendu que irexec est lancé au démarrage de la session MythTV. Sous fvwm, cela se fait via un
Style myth* NoTitle, NoHandles, Sticky, WindowListSkip, SloppyFocus, GrabFocus, BorderWidth 0
Exec irexec -d
Exec mythfrontend
Dans l’interface de MythTV, pressez la touche "9" de la télécommande.