Si vous possédez un casque VR, vous avez sans doute déjà rêvé de revoir vos séries ou films préférés en relief. L’outil open-source nunif iw3 rend cela possible en quelques commandes : il calcule automatiquement la profondeur d’une vidéo 2D puis génère un fichier SBS (Side-by-Side) lisible par n’importe quel lecteur VR. Ci-dessous, tout ce qu’il faut savoir pour passer de zéro à une vidéo 3D prête à être visionnée.
Installation express
# 1. Récupérer les sources
git clone https://gitcode.com/gh_mirrors/nu/nunif
cd nunif
# 2. Installer les dépendances (Python ≥ 3.10)
pip install -r requirements.txt
Conversion minimale
python -m iw3 -i film.mp4 -o dossier_sortie/
Le premier lancement télécharge automatiquement les modèles de profondeur. Le fichier généré se termine par _LRF_Full_SBS.mp4 : il est immédiatement reconnu par Skybox, DeoVR ou Pigasus.
Interface graphique
python -m iw3.gui
Windows : double-cliquer sur Run iw3 GUI.bat.
Pièges fréquents et solutions
- Image côte à côte plate sur PC : normal, le lecteur système ne sait pas décoder le SBS. Testez dans le casque VR.
- Relief trop « carton » : ajoutez
--foreground-scale 3ou--divergence 4pour accentuer la profondeur. - Passage de 60 fps à 30 fps : iw3 limite à 30 fps par défaut. Forcez
--max-fps 60si besoin. - CUDA Out of Memory : diminuez la résolution (
--limit-resolution 1920) ou la taille de lot (--batch-size 1). - Cartes GTX 10xx lentes : désactivez le mode FP16 avec
--disable-amp.
Comprendre le pipeline
- Estimation de profondeur : un réseau de neurones prédit, pour chaque pixel, sa distance à la caméra.
- Génération stéréo : un second réseau décale légèrement l’image vers la gauche et la droite pour créer la paire œil gauche / œil droit.
| Modèle | Type | Usage conseillé |
|---|---|---|
ZoeD_Any_N |
Métrique | Films live |
Any_V3_Mono |
Animé | Anime, dessins animés |
VDA_Metric_B |
Vidéo | Plans séquences longs |
Workflow complet : exemple anime
-
Aperçu rapide
python -m iw3 --keyframe --keyframe-interval 4 -i anime.mkv -o apercu/Regardez quelques images SBS dans le casque pour valider le style.
-
Conversion complète
python -m iw3 -i anime.mkv -o final/ \ --depth-model Any_V3_Mono \ --divergence 2.2 \ --edge-dilation 4 \ --video-codec libx265 \ --preset medium
Workflow film live
python -m iw3 -i film.mp4 -o final/ \
--depth-model VDA_Metric_B \
--ema-normalize --ema-decay 0.9 \
--scene-detect \
--batch-size 6
Fonctions avancées
-
Streaming local :
python -m iw3.playerUn serveur WebXR sert vos vidéos 3D directement au casque sans copie.
-
Bureau en temps réel :
python -m iw3.desktop.guiLe flux de votre bureau devient 3D en direct.
-
Export des cartes de profondeur :
python -m iw3 -i clip.mp4 -o depth/ --export --export-format pngPratique pour des compositions ultérieures dans Blender ou After Effects.
Optimisation performance
| Résolution | Modèle | GPU 8 GB | GPU 4 GB |
|---|---|---|---|
| 720 p | Any_S | 10× temps réel | 8× temps réel |
| 1080 p | Any_B | 4× temps réel | 2× temps réel |
| 1080 p | Any_L | 1× temps réel | — |
Pour aller plus vite : baissez la résolution, diminuez --batch-size, ou passez au codec NVENC (h264_nvenc).
Récapitulatif express
- Une seule commande suffit :
python -m iw3 -i input -o output. - Choisissez le modèle adapté :
Any_V3_Monopour l’animation,VDA_Metric_BouZoeD_Any_Npour le live. - Activez
--ema-normalizeet--scene-detectpour des transitions fluides. - En cas de plantage CUDA :
--low-vramou--disable-amp. - Explorez
iw3.playeretiw3.desktoppour aller plus loin.
Lancez une première conversion courte, vérifiez le rendu dans votre casque, puis attaquez vos long-métrages : votre bibliothèque VR vient de s’agrandir.