Comment monter une vidéo à 360° sous shotcut ?


 

 

Shotcut un logiciel opensource de montage vidéo permet également de monter des vidéos à 360 grâce au plugin bigshot https://bitbucket.org/leo_sutic/bigsh0t/src/main/ dont voici la traduction de son README enrichie d'illustrations et de remarques.

Remarques :

Sans le plugin bigshot il est déjà possible sous Shotcut d'assembler des vidéos à 360° mais en gardant le format d'export à 360°. Le plugin permet lui de modifier la vidéo pour par exemple en extraire une vidéo standart en réalisant des changements de vues fluides grace aux keyframes.



bigsh0t



Une collection de plugins frei0r pour la vidéo VR, avec prise en charge de Shotcut. Sous licence GPL-2.0, comme frei0r.

 

Note importante:

Ces plugins ne fonctionnent pas avec le « Parallel processing » lors de l'exportation de la vidéo. Si vous voyez des déchirures en utilisant des images clés, désactivez le traitement parallèle lors de l'exportation.

Upgrade
Si vous mettez à niveau depuis bigsh0t 1.0, vous devez supprimer les anciens plugins et modifier vos fichiers .mlt. Changez :

<property name="mlt_service">frei0r.hemi_to_eq</property>
<property name="shotcut:filter">hemi_to_eq</property>
par : 

<property name="mlt_service">frei0r.bigsh0t_hemi_to_eq</property>
<property name="shotcut:filter">bigsh0t_hemi_to_eq</property>

Remarques :
Au momment de l'exportation le processus est resté bloqué sur "pending"; il est cependant possible de le lancer par un clic droit dessus en choisissant de le lancer.

Installation:


Le script de construction est fourni avec sa propre copie des en-têtes Frei0r.

Windows 64 bit
Assurez-vous de compiler pour une cible 64 bits. Si vous compilez en DLL 32 bits, Shotcut ne pourra pas les charger. Bigsh0t utilisera OpenMP sous Windows. Par défaut, Bigsh0t utilisera les intrinsics SSE.

OSX
Shotcut utilisera OpenMP et nécessite son installation via brew : brew install libomp
Par défaut, Bigsh0t n'utilisera pas les intrinsics SSE.

Linux
Par défaut, Bigsh0tn'utilisera pas les intrinsics SSE.

 

 Il n'y a pas d'installateur. Selon la plateforme que vous utilisez, vous devrez copier les fichiers dans les bons dossiers. Une fois le processus de construction terminé, vous devriez avoir un .zip ou .tar.gz dans le répertoire de build de CMake.

Windows
En supposant que Shotcut soit installé dans C:\Program Files\Shotcut, copiez les DLL dans C:\Program Files\Shotcut\lib\frei0r-1 et tout ce qui se trouve dans le dossier shotcut/filters dans C:\Program Files\Shotcut\share\shotcut\qml\filters.

Téléchargez et installez les redistribuables Visual C++ de Microsoft. Comme Bigsh0t est en 64 bits, vous avez besoin du package x64 (64 bits).

OSX

En supposant que Shotcut soit installé dans /Applications/Shotcut.app, copiez les fichiers .so dans /Applications/Shotcut.app/Contents/PlugIns/frei0r-1 et tout ce qui se trouve dans le dossier shotcut/filters dans /Applications/Shotcut.app/Contents/MacOS/share/shotcut/qml/filters.

Linux
En supposant que Shotcut soit installé dans /some/path/Shotcut.app, copiez les fichiers .so dans /some/path/Shotcut.app/lib/frei0r-1 et tout ce qui se trouve dans le dossier shotcut/filters dans /some/path/Shotcut.app/share/shotcut/qml/filters.

 

Plugins:

 

Hemispherical to Equirectangular


Convertit une image vidéo avec deux images hémisphériques en une seule image équirectangulaire. Le plugin suppose que les deux hémisphères sont dans le cadre. Si vous avez une caméra comme la Garmin Virb360 qui produit deux vidéos, une de chaque caméra, vous devriez commencer par les convertir en un seul film en les plaçant côte à côte en utilisant, par exemple, ffmpeg (vous pouvez également ajouter des paramètres pour produire une sortie intra-seule, sans perte, pour un montage plus facile) :

ffmpeg \
-i left.mp4 \
-i right.mp4 \
-filter_complex hstack \
output.mp4

Paramètres :

  • interpolation: Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.

  • projection: Le type de projection fisheye. Actuellement, seuls les fisheyes équidistants, comme le Ricoh Theta et le Garmin Virb360, sont pris en charge.

  • fov et radius: Le champ de vision d'un seul hémisphère en degrés, et le rayon du cercle d'image, exprimé en fraction de la largeur du cadre.

  • yaw, pitch et roll: Les deux caméras fisheye d'une caméra 360 ne sont rarement parfaitement à 180 degrés l'une de l'autre. Ces paramètres ajoutent une rotation aux deux objectifs pour corriger cela.

  • X, Y et Up: Le centre de l'image et l'orientation de l'image pour les caméras avant et arrière. Le paramètre X est une fraction de la largeur de l'image, et le paramètre Y une fraction de la hauteur de l'image. Up est la direction "haut" dans l'image, en degrés dans le sens horaire à partir d'une direction vers le bord supérieur du cadre.

  • Nadir radius et Nadir start: Les caméras 360 comme la Theta ont un problème avec la direction nadir où, quoi qu'il en soit, vous aurez un peu de la caméra dans l'image. Ce paramètre "étire" l'image près du nadir pour couvrir les parties manquantes.

  • Lens Distortion, A, B, C et Radius: Paramètres de correction de la distorsion de l'objectif. Les trois premiers paramètres sont les mêmes que dans Hugin. Si vous utilisez les paramètres Hugin, le rayon doit être réglé à la valeur de (0.5 * min(image width, image height) / image width). Pour une image double hémisphérique à aspect 2:1, ce serait 0.25.

  • Lens Vignetting, A, B, C, D et Radius: Paramètres de correction du vignettage de l'objectif. Les quatre premiers paramètres sont les mêmes que dans Hugin, correspondant aux paramètres d'image Va, Vb, Vc et Vd. Si vous utilisez les paramètres Hugin, le rayon doit être réglé à la valeur de (0.5 * image diagonal / image width). Pour une image double hémisphérique à aspect 2:1, ce serait 0.5590. Utilisez le paramètre A pour ajuster l'effet et éviter la surexposition des hautes lumières.

  • Sensor Response, EMoR h(1), EMoR h(2), EMoR h(3), EMoR h(4) et EMoR h(5): Paramètres de réponse du capteur. Les paramètres EMoR h(x) sont les mêmes que les Ra - Re de Hugin dans les paramètres de l'objectif. Si vous utilisez des valeurs dérivées de Hugin pour la correction du vignettage, vous devez également utiliser ces paramètres, car la correction du vignettage de Hugin suppose que la réponse du capteur a été corrigée.

Remarques :

 Les logiciels propriétaires des appareils photos réalisent souvent mieux et plus facilement cette opération. Par exemple Mi Sphere Camera pour la XIAOMI MIJIA 360 Mi SPHERE. Il est cependant parfois nécessaire d'y injecter des données supplémentaires grace au logiciel Spatial Media Metadata Injector afin que les vidéos soient convenablements reconnues comme des vidéos à 360°.

 Equirectangular to Rectilinear


 

Convertit une image équirectangulaire (panoramique) en une image rectilinéaire (ce que vous avez l'habitude de voir). Peut être utilisé pour prévisualiser ce qui sera affiché dans un visualiseur de vidéos 360.

Paramètres :

  • interpolation: Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.

  • fov: Le champ de vision horizontal, en degrés, de l'image résultante. Toute valeur supérieure à 179 se traduit par une projection fisheye.

  • yaw, pitch et roll: La direction du centre de l'image dans le panorama.

  • fisheye: La quantité de fisheye à mélanger. 100 signifie que vous obtenez une lentille fisheye à 100%.

Transform 360

Effectue une rotation d'une image panoramique.

Paramètres :

  • interpolation: Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.

  • yaw, pitch et roll: La quantité de rotation de l'image.

     

Equirectangular Mask

Ajoute un cache noir au cadre. Utilisez cela si vous avez filmé avec une caméra 360 mais que vous ne souhaitez utiliser qu'une partie de l'image 360, par exemple si vous et l'équipe de tournage occupez les 90 degrés derrière la caméra.

Paramètres :

  • HFOV Start et HFOV End: Le Start est la largeur en degrés de la zone non cachée. End est la largeur en degrés où le cache est à 100%.

  • VFOV Start et VFOV End: Le Start est la moitié de la hauteur en degrés de la zone non cachée. End est la moitié de la hauteur en degrés où le cache est à 100%.


Rectilinear to Equirectangular

Convertit une image rectilinéaire (une image normale) en une image équirectangulaire. Utilisez-le avec Transform 360 pour insérer des séquences "normales" dans un film à 360°.

Paramètres :

 interpolation : Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.
HFOV : Largeur en degrés de l'image rectilinéaire.
VFOV : Hauteur en degrés de l'image rectilinéaire.

 

Stabilize 360

Stabilise les séquences à 360°. Le plugin fonctionne en deux phases : analyse et stabilisation. Lors de l'analyse, il détecte la rotation d'une image à l'autre, et lors de la stabilisation, il tente de corriger les mouvements à haute fréquence (tremblements).

Protip : Utilisez Settings > Preview Scaling and Subpixels. C'est beaucoup plus rapide que d'exécuter en haute résolution sans subpixels.

Comment stabiliser une vidéo :

  1. Désactivez Realtime (frame dropping) dans le menu Settings. Il est important que le filtre voie toutes les images.

  2. Ajoutez la séquence 360°.

  3. Appliquez un filtre Hemispherical to Equirectangular pour passer au format équirectangulaire.

  4. Appliquez un filtre Transform 360.

  5. Appliquez le filtre Stabilize 360.

  6. Sélectionnez un fichier pour stocker les données de stabilisation.

  7. Activez le mode Analyze.

  8. Utilisez le filtre Transform 360 pour faire pivoter la séquence de manière à ce que le point directement devant soit au-dessus du cluster central des points de suivi.

  9. Lisez la séquence du début à la fin. Le FUD (Filter-Up Display) doit afficher un nombre croissant d'images.

  10. Une fois la lecture terminée, désactivez le mode Analyze.

  11. Vous devriez maintenant avoir une vidéo 360° stabilisée.

 

Le FUD (Filter-Up Display)

Lorsque vous passez en mode analyse, le filtre superpose des informations sur la vidéo :
• En haut à gauche, des informations sur le fichier utilisé pour le stockage et le nombre d'images pour lesquelles il a des données.
• Les carrés représentent les zones utilisées pour la détection de mouvement.
• Les contours rouges sont les zones échantillonnées.
• Les contours jaunes indiquent le rayon de recherche.
• Les carrés bleus sont fixes.
• Les carrés verts représentent les zones où les échantillons ont été trouvés.
• Lors de l'analyse, les carrés rouges, jaunes et verts sont dessinés en premier. Ensuite, l'image est transformée de manière à annuler la rotation de l'image précédente, et les carrés bleus sont dessinés. Si la détection et la rotation détectée sont parfaites, les carrés bleus et verts devraient se chevaucher complètement et former des carrés cyan. Note : « Analysis: Apply Transform » doit être activé.
• La forme d'onde dessinée en bas au centre montre le mouvement détecté. Le rouge correspond au yaw, le vert au pitch et le bleu au roll.

 Paramètres :

Mode : Cochez cette case pour passer du mode stabilisation au mode analyse.
File : Chemin d'accès au fichier utilisé pour stocker les données d'analyse.
Start Offset : Décalage dans le fichier de stabilisation correspondant au début de ce clip. Appuyez sur le bouton Undo pour le définir à partir de la timeline de Shotcut. Par exemple, si vous avez un clip de 30 secondes, analysez-le en entier, puis divisez-le en trois clips de 10 secondes chacun, les offsets de début devraient être 0 s, 10 s, et 20 s.
Interpolation : Qualité de sortie.
Analysis: Apply Transform : Lorsque cette option est activée, le filtre applique la transformation image par image pour montrer la qualité de l'analyse (voir la section ci-dessus sur le FUD). Lorsque vous êtes satisfait de la qualité de l'analyse, vous pouvez désactiver cette option, car elle ajoute environ 50 % au temps d'analyse.
Analysis: Sample Radius : Le rayon du carré que le stabilisateur échantillonnera.
Analysis: Search Radius : La quantité maximale de mouvement que le stabilisateur détectera.
Analysis: Offset : La distance entre les points de suivi.
Analysis: Subpixels : Utilisez le matching subpixel avec ce nombre de subpixels. Utilisez-le lorsque vous appliquez le filtre sur un aperçu de résolution inférieure.
Analysis: Use backwards-facing track points : Si activé, six points de suivi orientés vers l'arrière seront également utilisés pour détecter les mouvements de pitch et de yaw. Désactivez-le si, par exemple, vous apparaissez en tenant la caméra.
Yaw / Pitch / Roll: Amount : Quantité de stabilisation à appliquer. 100 % signifie que le stabilisateur rendra la caméra aussi stable que possible. Des valeurs plus petites réduisent la quantité de stabilisation.
Yaw / Pitch / Roll: Smoothing : Nombre d'images utilisées pour lisser les secousses. Plus la valeur est élevée, plus la caméra suivra lentement tout mouvement intentionnel.
Yaw / Pitch / Roll: Time Bias : Déplace les images utilisées pour lisser les secousses par rapport à l'image stabilisée. Une valeur inférieure à zéro donnera plus de poids aux images passées, et la caméra semblera en retard par rapport au mouvement prévu. Une valeur supérieure à zéro donnera plus de poids aux images futures, et la caméra semblera anticiper le mouvement prévu. Une valeur de zéro devrait faire suivre à la caméra le chemin prévu.

 

Zenith Correction

Stabilise les séquences à 360° en utilisant les données du capteur d'orientation présentes dans le fichier vidéo. Actuellement, il peut lire les données de correction de zénith des caméras Ricoh Theta SC et Ricoh Theta SC2.

 Paramètres :

File : Chemin d'accès au fichier vidéo qui sera inspecté pour les données du capteur. En général, il s'agit du même fichier que celui sur lequel le filtre est appliqué.
Start Offset : Décalage dans le fichier de stabilisation correspondant au début de ce clip. Appuyez sur le bouton Undo pour le définir à partir de la timeline de Shotcut. Par exemple, si vous avez un clip de 30 secondes, analysez-le en entier, puis divisez-le en trois clips de 10 secondes chacun, les offsets de début devraient être 0 s, 10 s, et 20 s.
Interpolation : Qualité de sortie.
Yaw: Smooth yaw : Si activé, les données d'orientation yaw ne seront pas appliquées telles quelles. À la place, la séquence suivra le mouvement de yaw de la caméra de manière à ce que la vue soit "en avance" sur la caméra. Activez cette option si vous souhaitez simplement que la séquence soit corrigée pour le zénith sur les axes pitch et roll.
Yaw: Smoothing : Nombre d'images utilisées pour lisser le mouvement de yaw. Plus la valeur est élevée, plus la caméra suivra lentement tout mouvement intentionnel.
Yaw: Time Bias : Déplace les images utilisées pour lisser les secousses par rapport à l'image stabilisée. Une valeur inférieure à zéro donnera plus de poids aux images passées, et la caméra semblera en retard par rapport au mouvement prévu. Une valeur supérieure à zéro donnera plus de poids aux images futures, et la caméra semblera anticiper le mouvement prévu. Une valeur de zéro devrait faire suivre à la caméra le chemin prévu.

 

Equirectangular to Stereographic

Convertit un cadre équirectangulaire (panoramique) en un cadre stéréographique. Cela peut être utilisé pour créer des vidéos "little planet".

 Paramètres :

interpolation : Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.
fov : Le champ de vision, en degrés.
yaw, pitch et roll : La direction du centre de l'image dans le panorama.
amount : La quantité de projection stéréographique à mélanger. 100 signifie que vous obtenez une projection stéréographique à 100 %, 0 signifie une projection rectilinéaire standard.

 

Cap top and Bottom

Tente de remplir le zénith et le nadir en étirant et en floutant les données de l'image. Il échantillonne une bande de latitude près du début de l'effet et l'étire et la floute sur le pôle.

Paramètres :

  • interpolation : Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.

  • (top / bottom) start : Degrés depuis l'horizon où commence le remplissage.

  • (top / bottom) end : Degrés depuis l'horizon où le flou maximal est atteint.

  • (top / bottom) blend in : Degrés vers l'horizon pour l'échantillonnage.

  • (top / bottom) blend out : Degrés depuis l'horizon pour l'échantillonnage.

  • (top / bottom) fade in : Degrés pour estomper l'effet.

  • (top / bottom) blur width at start : Angle horizontal de flou au début.

  • (top / bottom) blur width at end : Angle horizontal de flou à la fin.

  • (top / bottom) blur height at start : Angle vertical de flou au début.

  • (top / bottom) blur height at end : Angle vertical de flou à la fin.

     

Wrap

Étirer une section du panorama équirectangulaire pour couvrir la sphère VR.

Paramètres :

  • interpolation : Nearest-neighbor ou bilinear. Détermine la méthode d'échantillonnage.

  • top, bottom, left, right : Degrés depuis le centre de l'image à conserver inchangés.

  • blur start : Fraction horizontale de la zone inchangée à flouter dans la bande équatoriale.

  • blur end : Fraction horizontale de la zone inchangée à flouter aux pôles.