Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
29 avril 2017 6 29 /04 /avril /2017 21:30

Récupération des images

J'ai fait un script grabPicture.sh qui récupère une image issue d'une webcam distante, et le stocke avec un timestamp dans un dossier:

#!/bin/bash

timestamp() {
  date +"%Y-%m-%d_%H-%M-%S"
}

filename="webcam_$(timestamp).jpg"

curl http://monServeur/webcam.jpg > /home/pat/timelapse/images/$filename

Ce script est appelé toutes les minutes via cron.

Editer la crontab de l'utilisateur par un crontab -e et saisir quelque chose comme:

* * * * * /home/pat/timelapse/grabPicture.sh

Affichage du timelapse

J'ai fait un script playJPegAnimation.sh qui utilise mplayer pour jouer les images capturées. Dans ce script il faut adapter la date des fichiers à jouer, et eventuellement la vitesse (ici à 12 images par seconde):

#!/bin/sh
today() {
  date +"%Y-%m-%d"
}

mplayer mf:///home/pat/timelapse/images/webcam_$(today)*.jpg -mf fps=12

Conversion du timelapse en vidéo:

Pour pouvoir uploader ce timelapse sur youtube par exemple, j'ai fait un script encodeTimeLapse.sh qui utilise mencoder pour l'encodage vidéo:

#!/bin/sh
today() {
  date +"%Y-%m-%d"
}

ffmpeg -y -nostats -loglevel 0 -pattern_type glob -i "/home/pat/timelapse/images/webcam_$(today)*.jpg" -r 12 -s hd720 -vcodec libx264 -crf 18 -preset slow /root/timelapse/videos/timelapse.mp4

 

Après import dans un logiciel de montage vidéo, ajout d'une musique (libre de droits), voilà ce que ça donne:

 

On peut aussi ajouter la musique directement lors de la création de la vidéo par ffmpeg:

#!/bin/sh
today() {
  date +"%Y-%m-%d"
}

ffmpeg -y -pattern_type glob -i "/home/pat/timelapse/images/webcam_$(today)*.jpg" -i "/home/pat/timelapse/audio/La-voyageuse.mp3" -shortest -r 12 -s hd720 -vcodec libx264 -crf 18 -preset slow -pix_fmt yuv420p /home/pat/timelapse/videos/timelapse_$(today).mp4

 

Partager cet article

Repost 0
Published by breizhmakers
commenter cet article

commentaires