Tourné en 360° mono avec une seule GoPro – Guide de conversion Fisheye / Équirectangulaire

La caméra

Comment faire du 360° avec une seule caméra ? c’est simple, en dirigeant l’optique vers le haut, ça nous permet de couvrir la totalité de l’espace en 360°. Les 80° manquant vont être vers le bas. Sachant que l’attention du spectateur va être généralement vers le milieu/haut. Cette configuration nous permet de faire des tournages plus simple, ainsi que d’avoir un workflow assez facile et rapide qu’on va détaillé par la suite.

Matériel

une GoPro Hero 4 modifié avec une optique fisheye 280° Entaniya, paramétré à 2.7K 4:3 et une image FLAT, pour avoir plus de flexibilité lors de l’étalonnage et la colorisation.

La Hero 4 filme aussi en 4K mais seulement en 16:9. C’est possible de convertir cette image en 1:1 en faisant une calibration avec une look up table. Les essais sont en cours et j’y reviendrais prochainement.

LES OUTILS

 

CROP 1:1

Tout d’abord, il faut supprimer le “vide” et ne prendre que l’image avec le fisheye dans un carré parfait 1:1.

Pour cela, il faut extraire une image de notre vidéo grâce à ffmpeg :

ffmpeg -i gopro.mp4 -ss 10 -t 1 -f mjpeg frame.jpg

à la dixième seconde, ffmpeg va extraire une seule image en jpeg.

Ensuite, tout les moyens sont bons pour calculer la distance entre le bord et le fisheye.

Dans mon cas, j’ai utilisé Photoshop. J’ai importé l’image, fait un crop parfait 1:1 (qui m’a donné 1846×1846) ensuite j’ai superposé la même image mais non cropé exactement (au pixel prés !) sur l’autre image. Ce qui donnerais ça :

Maintenant, les propriétés de mon calque non cropé indiquent à combien j’ai déplacé l’image en x et en y. N’hésitez pas à utiliser le zoom pour caler aussi bien le crop que l’image superposé avec exactitude.

on a un déplacement en x à 436px et en y à 77px.

Maintenant, on va indiquer ces coordonnées, ainsi que la taille de mon crop, à ffmpeg :

ffmpeg -i gopro.mp4 -filter:v crop=1846:1846:436:77 -b:v 30M crop.mp4

Vous remarquez que j’ai imposé un bitrate de 30Mb/s, puisque sans cela, ffmpeg va réduire le bitrate à 2Mb/s.

COMPOSITION AFTER EFFECTS

Sur After Effects, créer une composition qui correspond à 2x la largeur de la vidéo et la même hauteur, soit finalement un ratio de 2:1. Selon la vidéo qu’on a, cela sera 3692×1846.

 

Importer par la suite la vidéo et appliquer l’effet “Coordonnées polaires” à 100%.

le résultat va ressembler à peu près à ça : chaque coin de l’image va crée 4 courbures (visible en bas de l’image).

Maintenant, on va faire correspondre la taille de la vidéo par rapport à la composition.

Calque > Géométrie > Ajuster à la composition.

ou sur Mac :

Pomme + Alt + F

ça donnerais ça :

Par la suite, augmenter légèrement le scale de 200 à 200,07 (ça devrait afficher 200.1) pour éviter une ligne noire qui sépare les deux bouts une fois mis en 360°. Par la même occasion, changer les valeurs à droite à 0, comme indiquer sur cette capture d’écran.

 

BASCULEMENT HORIZONTAL

Ensuite, il faut retourner horizontalement notre image.

Calque > Géométrie > Basculer horizontalement

Vous avez exporter sans faire le basculement en horizontale ? pas de panique ! une commande ffmpeg existe pour cela :

ffmpeg -i video.mp4 -vf hflip videoflip.mp4

 

AJUSTER PAR RAPPORT AU DEGRÉS DU FISHEYE

Maintenant, on va se servir du guide offert par https://thefulldomeblog.com/ (télécharger ici) pour pouvoir agrandir notre image par rapport à la valeur du fisheye. Tout d’abord, importer l’image PNG (téléchargez ici), s’assurer de le placer au dessus de notre vidéo. Ensuite, correspondre la taille de notre guide par rapport à la composition.

Calque > Géométrie > Ajuster à la composition.

ou sur Mac :

Pomme + Alt + F

Dans notre cas, notre fisheye fait du 280°, il faut aller vers Échelle (scale) et changer la valeur à droite pour faire correspondre le bord du fisheye à sa valeur. Sélectionner le calque vidéo et afficher la partie “Transformer” comme l’image ci-dessous.

Créer ensuite un calque solide noir qui va caché le bas de l’image.

Calque > Créer > Solide

et le placer exactement au bord du fisheye en bas.

 

LÉGÈRE CORRECTION COLORIMÉTRIQUE

On peut aussi appliquer un calque d’effet qui va venir rehausser les couleurs.

Calque > Créer > Calque d’effet

ou sur Mac :

Pomme + Alt + Y

N’oubliez pas de le placer au dessous du calque solide noir, sinon l’effet sera aussi appliquer sur la bande noire. J’ai appliqué l’effet courbes (que vous pouvez trouver dans effet > correction colorimétrique) afin d’avoir plus de contraste et un filtre photo. Vous pouvez vous amuser à mettre plusieurs effets si jamais vous voulez pousser la correction un peu plus loin.

 

Le résultat (avant/après) :

Avant
Après

 

CHANGER L’ORIENTATION DE L’IMAGE

On peut décaler notre vidéo et choisir notre centre.

Pour cela, il faut sélectionner le calque de la vidéo et appliquer un décalage.

Effets > Déformation > Décalage.

Changer seulement la valeur de gauche (x).

Exemple :

à quoi cela sert ? tout simplement à orienter le centre de la vidéo pour le spectateur. Si ce plan est le premier d’une séquence, il est primordial de déterminer quelle sera la première image que verra le spectateur.

 

CACHER L’OMBRE DU TRÉPIED

Pour pouvez faire un double clique sur la vidéo et utiliser l’outil clone pour masquer l’ombre du trépied. Si vous avez des images où il n’y a pas réellement de mouvement au dessus des ombres, vous pouvez voir cette technique avec Photoshop.

EXPORTATION POUR YOUTUBE ET LE SAMSUNG GEAR VR

Notre vidéo est enfin prête pour l’exportation. Faire un rendu en .mov en Prores 422 (pas de HQ, ce n’est pas une vidéo 10bits…). J’aurais aimé exporter en H264 directement mais After Effects risque de me redimensionner ma vidéo en 2000px. Si vous utilisez Media Encoder, c’est encore mieux.

Par la suite, petit passage par ffmpeg pour mettre en conformité la vidéo pour les supports de diffusion (aussi bien le casque Gear VR que Youtube) :

ffmpeg -i film.mov -c:v libx264 -profile:v main -pix_fmt yuv420p -b:v 30M filmfinal.mp4

Export en H264 haute qualité en 4.2.0 Progressive en 30Mb/s.

Pour Youtube, il faut injecter des métadonnées pour indiquer à la plateforme que la vidéo est en 360°. Pour cela, télécharger l’outil “Spatial Media Metadata Injector” pour Mac ou Windows. (ou trouver aussi la dernière version ici).

 

La vidéo est sphérique, n’est pas en stéréo et ne possède pas de son.

 

Résultat :

Si vous avez des questions ou des suggestions, n’hésitez pas à laisser un commentaire en bas de l’article !

 

 

 

Emir C. Écrit par :

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *