slowmoVideo, ou comment arrêter le temps

slowmoVideo  est un logiciel open source qui permet de réaliser des versions ralenties de vos propres vidéos.

Site officiel : http://slowmovideo.granjow.net/

Il ne fait pas simplement ralentir les videos, il est possible d'accélerer ou ralentir seulement certaines parties.
Des effets de floutage sont également disponibles pour un meilleur rendu de la fluidité.

 

Comment ca marche ?

Pour ralentir, on va jouer sur le nombre d'images.

Exemple : 

En stopmotion, ou quand on filme un timelapse, on ne filme/encode généralement pas à 24 images/seconde comme une vidéo classique, mais plutót, généralement, à 10 ou 15 images par seconde.

5s X 10 img/s   -->  50 imgs
5s x  24 img/s  --> 120 imgs
slowmoVideo va donc devoir générer 70 nouvelles images à partir des 50 existantes.

slowmoVideo génère les images par interpolation en essayant de déterminer les pixels qui ne changent dans la vidéo d'une image à une autre, et ensuite utilise ces informations pour calculer les images qui vont être ajoutées.

Différents algorithmes sont disponibles, mais le temps de rendu peut être très long, c'est pourquoi il est vivement conseillé de faire des tests avec des petites vidéos et petites images.

 

Installation

http://slowmovideo.granjow.net/

Bravo et merci aux développeurs de slowmovideo qui ont réussi à fournir une version sans la dépendance aux cartes nVidia.

Pour Ubuntu :

  • Installer les dépendances:
sudo apt-get install build-essential cmake git ffmpeg libavformat-dev libavcodec-dev libswscale-dev libqt4-dev freeglut3-dev libglew1.5-dev libsdl1.2-dev libjpeg-dev libopencv-dev libopencv-video-dev

sudo apt-get install nvidia-cg-toolkit   pour les cartes Nvidia
$ cd slowmoVideo       # il s'agit d'un sous-repertoire
$ mkdir build
$ cd build 
$ cmake .. 
$ make -j3 
$ make install
  • Compiler V3D (Seulement si vous avez une carte nVidia)


$ cd V3D
$ mkdir build
$ cd build
$ cmake ..
$ make -j3
$ make install

  • Si tout a bien fonctionné : 
install/bin/slowmoUI

 

Utilisation

Voir la version plus complète en anglais :  http://slowmovideo.granjow.net/docs.html

 

Nouveau Projet

  • Il est preferable de créer les nouveaux projets dans un repertoire vide.

 

  • On peut choisir de charger une video ou une sélection d'images.

 

  • Lorsque vous appuyer sur OK, slowmoVideo va sauver le projet et commencer à extraire les photos.

 

 

 

Les Courbes

Le canva est votre zone de travail.  Il a 2 axes :

  • L'axe horizontal, output axis, représente la ligne de temps de la vidéo rendue. 
  • L'axe vertical , source axis, correspond aux numéros des images chargées/extraites lors de la création du projet.

Toute courbe dans ce système représente la progression des images par rapport au temps.
Ex:  une courbe à pente élevée (>1) va accélérer le film, une pente douce (<1) le ralentir.  

Dans l'exemple suivant, on a pris une séquence extraite de notre dernier film stopmotion: Un autre film sur l'huile de palme.

  1.  Pente proche de 45° (~=1), le film va a la meme vitesse mais pluis fluide
  2. On fait du scratch avec la ligne de temps, effet avant-arriere
  3. Pente très douce, le film est très ralenti

 

 

Avant :

 

Après le traitement de la courbe exemple :

 

Rendu

Différent paramètres de configuration sont disponibles:

  • Possibilité de travailler sur tout le projet ou bien seulement une partie
  • Frames :  Nombre images par secondes
  • Size : Taille de l'image !!!  Important d'utiliser small pour les tests
  • interpolation  : Choix de l'algorithme, plus ou moins rapide
  • Target:  permet d'obtenir un film ou bien la séquence d'image générée
  • Destination des fichiers de sortie

 

 

 

 

 

 

 

 

 

Edition du flux optique

En bonus, voici une vidéo qui montre comment corriger manuellement certains défauts.

 

 

Conclusion

slowmoVideo offre pleins de possibilités, iIl est assez stable, mais le temps de traitement peut être très long !!!

Amusez vous bien !