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 :
Désactivez Realtime (frame dropping) dans le menu Settings. Il est important que le filtre voie toutes les images.
Ajoutez la séquence 360°.
Appliquez un filtre Hemispherical to Equirectangular pour passer au format équirectangulaire.
Appliquez un filtre Transform 360.
Appliquez le filtre Stabilize 360.
Sélectionnez un fichier pour stocker les données de stabilisation.
Activez le mode Analyze.
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.
Lisez la séquence du début à la fin. Le FUD (Filter-Up Display) doit afficher un nombre croissant d'images.
Une fois la lecture terminée, désactivez le mode Analyze.
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.