#!/bin/bash if [ $# -ne 1 ] then echo "Usage : $0 " exit fi TMP=/tmp # repertoire ou va etre stocke les images TIME=$1 # temps de capture DIRCAP=$TMP/capture-motion-$$ # repertoire ou les donnees seront stockees SEC=`date "+%S"` # recupere les secondes MIN=`date "+%M"` # recupere les minutes T0=$(( $MIN * 60 + $SEC )) # temps 0 d'execution TN=$(( $MIN * 60 + $SEC )) # temps N d'execution TDIFF=$(( $TIME - ( $TN - $T0 ) )) # intervalle de temps d'execution I=0 echo $TIME $DIRCAP $SEC $MIN $T0 $TDIFF # creation du repertoire temporaire mkdir $DIRCAP # boucle d"acquisition des images echo "Capture." while [ $TDIFF -gt 0 ] do FORM=` printf %.4d $I` screencapture -s $DIRCAP/image-$FORM.png SEC=`date "+%S"` MIN=`date "+%M"` TN=$(( $MIN * 60 + $SEC )) TDIFF=$(( $TIME - ( $TN - $T0 ) )) I=$( expr $I + 1 ) done # maintenant traitement des images en video # convert $DIRCAP/*.png $DIRCAP/*.jpg # convert $DIRCAP/*.jpg movie.mpg # rm -fr $DIRCAP/ echo "Post traitement." for i in $DIRCAP/*.png do FICHIER=` echo $i | sed 's/.png//' ` j=0 while [ $j -lt 25 ] do FORM=` printf %.4d $j` cp $i $FICHIER-$FORM.png j=$( expr $j + 1 ) done rm -f $i done TIMER=$(( $TIME * 10 )) #convert -delay $TIMER $DIRCAP/*.png movie.mpg 2>/dev/null mencoder mf://$DIRCAP/*.png on:w=801:h=600:fps=25:type=png -nosound -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o movie.mpg echo "Cleaning." rm -fr $DIRCAP