Le gros problèmes lorsque l'on prend un vidéo avec une caméra embarquée ne disposant pas de stabilisateur, comme par exemple ma GoPro HD2 ...c'est que les vidéos peuvent être rapidement vomitives.
C'est évidemment que je ne recherche pas une stabilité parfaite en attaquant dans des champs de bosses, mais au moins que les vibrations les plus faibles soient filtrées, typiquement sur de la traffole ou de la "taule ondulée". Après pas mal de recherche, voici la solution que j'emploie.
Mlt est un framework de montage vidéo utilisé par de nombreux outils en ligne de commandes tel que FFMpeg ou graphique comme OpenShot. Parmi ses nombreux filtres, il offre des possibilités de stabilisation vidéo.
Il existe 2 versions du pluggin : videostab et videostab2. Dans les versions récentes, le premier serait ... plus récent que le second (sic).
A l'heure où j'écris ces lignes, j'utilise le second, car je préfère sa façon de gérer les parties ajoutées (si l'image doit être redressée par exemple, le logiciel doit inventer une partie de l'image) : alors que le premier affiche une sorte de trainée, le deuxième place une copie de l'image redressée ce qui rend le subterfuge plus discret.
Je n'utilise le premier que lorsque VideoStab2 n'y arrive pas, et dans ce cas, je tronque les bords de la vidéo obtenue lors du montage ... mais il faut être très, très, très patient !
Ce filtre fonctionne en 2 passes :
Dans la première, il va effectuer une analyse du contenu de la vidéo pour générer des vecteurs de transformation. La ligne de commande est
melt parkinson.mp4 -filter videostab -consumer xml:parkinson.xml all=1 real_time=-2
avec parkinson.xml, le fichier intermédiaire où sont stockés les vecteurs.
Dans la seconde, il utilise ce fichier pour transformer la vidéo.
melt parkinson.xml -consumer avformat:parkinson-stab1.mp4 vcodec=libx264 -qp0 acodec=copy preset=ultrafast
On notera les options suivantes :
On remarque bien sûr que la stabilisation à ses limites : les mouvements rapides sont bien filtrés (typiquement, lors d'un passage de ski sur de la trafolle ou coup sur la caméra), mais ce n'est pas le cas des mouvements lents (mouvement de balancier pendant une succession de virage sur piste plate) ou de mouvements amples (champs de bosses). On peut sans doute améliorer les choses en jouant sur les options du plugin, mais pas encore essayé.
Enfin, le processus en lui-même est très long, surtout au niveau de la première passe qui utilise peu le multi-cores des processeurs actuels.
!/bin/bash
#Stabilize a video
if [ $# -ne 1 ]; then
echo "Syntax : $0 video_file"
echo "Output will be video_file-stab.mp4"
exit 10
fi
vdo=$(basename $1)
melt $1 -filter videostab2 -consumer xml:${vdo}.xml all=1 real_time=-2
melt ${vdo}.xml -consumer avformat:${vdo}-stab.mp4 vcodec=libx264 -qp0 acodec=copy preset=ultrafast
On peut remplacer videostab2 par videostab suivant que le veuille utiliser le 1er ou le 2nd filtre.
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.