
Un TimeLapse, c’est une vidéo qui est l’assemblage de plusieurs photos à la suite.
On obtient ainsi une vidéo accélérée de la réalité. Par exemple si vos photos sont espacées de 5s, étant donnée que la vidéo de sortie sera en 25i/s, la vidéo sera 25*5 = 125 fois plus rapide que la réalité !
J’ai un post qui explique comment calculer le bon timing pour les prises de vues en fonction de la durée du timelapse que l’on souhaite : timelapse-comment-calculer
Vous avez donc un stock de photos, plusieurs centaines et souhaitez les assembler pour créer une vidéo.
Les photos/images doivent être préparées au préalable (avec photoshop, lightroom, gimp…) et toutes placés dans le même répertoire. Il est également nécessaire que toutes les photos soient en jpg.
Dans cet exemple j’utilise l’utilitaire FFMPEG, qui existe pour tous les systèmes.
Le script présenté ci-dessous réalise plusieurs opérations
- Renommage des images en 00001.jpg, 000002.jpg…
- Assemblage avec ffmpeg
- Création d’une vidéo :
YYYYMMJJ-video.mkv
Détail du script
Le script est commenté est devrait être facile à comprendre et/ou adapter
#!/bin/bash ## recup date du jour DAY=`date +%Y%m%d`## renommage des images
##copie des fichiers vide dans un dossier vide mkdir vide first=1
for i in `ls *jpg` do SIZE=$(du -s $i | awk '{ print $1 }') if ((SIZE>0)) ; then new=$(printf "%06d.jpg" "$first") mv -i -- "$i" "$new" let first=first+1 else mv $i vide/$i fi done ## création de la vidéo avec les images numérotées DEST="$DAY-video.mkv" ## suppression ancien fichier s'il existe if [ -f $DEST ]; then rm $DEST fi ## options ffmpeg ## -r 25 = 25i/s ## -b 1000k = bitrate (débit) ## -vcodec libx264 = h264 ffmpeg -v 0 -r 25 -b 1000k -i "%06d.jpg" -vcodec libx264 $DEST