La dernière fois que j’ai utilisé la caméra embarquée à moto, j’ai eu le malheur de mal placer celle ci: résultat, l’assiette de la vidéo était complétement faussée et pas moyen d’avoir une idée potable de l’angle pris etc…
J’ai donc décidé de redresser tout ça, et je vais vous montrer comment on fait !
Pour ceux qui seraient arrivés ici à coup de google, je précise que la méthode décrite ici ne fonctionne que sous GNU/Linux. Amateurs d’OS privateurs tels que Microsoft Windows, débrouillez vous !
Step 0: découper la vidéo
Je ne voulais pas du début ni de la fin de ma vidéo, une première étape donc est d’extraire la portion qui m’intéresse:
mencoder ../SUNP0010.AVI -ss 35 -endpos 3:46 -ovc copy -oac copy -o cut.avi
On a maintenant dans cut.avi la portion de vidéo qui commence à la seconde 35 et dure 3 minutes 46 secondes…
Step 1: transformer la vidéo en une multitude de fichiers png
Là, rien de plus simple:
mplayer cut.avi -vo png
Attention, ça risque de prendre de la place. Ma caméra fait du 30 images/seconde environ, donc pour une vidéo de 3’46″, comptez à la louche 7000 images PNG non compressées.
Step 2: Appliquez les modifications kivonbien à la vidéo
Ici, il faut partir d’une image “témoin”. La première devrait naturellement faire l’affaire.
Ensuite, on l’ouvre avec ImageMagick ou The Gimp pour déterminer quelle est la rotation à appliquer mais aussi la découpe à faire dans la vidéo.
Pour ma part, j’ai appliqué une rotation de -18° et découper un carré de 619×301 avec un offset x de 108 pixels et un offset y de 189 pixels.
J’ai également appliqué quelques filtres pour améliorer l’image.
Une fois que tout les paramètres nous conviennent, on lance l’opération en masse avec ImageMagick:
mkdir enhanced
for file in *.png ; do echo $file ; convert -rotate \-18 -crop 619x301+108+189 -gamma 1.6 -despeckle $file enhanced/$file ; done
Cette opération risque d’être longue…
Réencoder le résultat
Une fois que toutes nos images sont passées à la moulinette, il ne nous reste plus qu’à réencoder tout ça en un flux vidéo:
mencoder mf://enhanced/\*.png -mf w=619:h=301:fps=30.997:type=png -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o test.mpg
Prenez garde au paramètres de l’option -mf: veillez à bien reporter la taille de vos images “découpées”. Pour le nombre de FPS, je me suis basé sur la sortie de mplayer sur la vidéo originale…
Et voilà, vous avez maintenant dans test.mpg votre vidéo redimensionnée et à l’assiette redressée
Je ne sais pas si cette méthode est la plus efficace, mais c’est tout ce que j’ai trouvé avec les outils que j’avais à ma disposition !