Equirectangular a Dome Master
Si tu animación quedó en formato equirectangular y necesitas convertirla a ojo de pez, usa FFmpeg:
ffmpeg -i input.mp4 -vf v360=input=equirect:output=fisheye:ih_fov=180:iv_fov=180 -s 4096x4096 output.mp4
Explicación del comando:
-i input.mp4
→ Tu video en formato equirectangular.v360=input=equirect:output=fisheye
→ Convierte de equirectangular a ojo de pez.ih_fov=180:iv_fov=180
→ Define un campo de visión de 180°x180°, ideal para fulldome.-s 4096x4096
: Asegura que la salida sea de 4096x4096 px.
El video equirectangular debe tener una resolución de 4096x2048 px si quieres obtener una conversión precisa a ojo de pez en 4096x4096 px.
El formato equirectangular estándar tiene una relación de aspecto 2:1 (doble de ancho que de alto) para cubrir 360° horizontalmente y 180° verticalmente. Al convertir a ojo de pez (fisheye), solo se usa un campo de visión de 180°x180°, que equivale a la mitad superior del equirectangular.
Ángulo de visión en Dome Master
Para cambiar el ángulo de visión del video, puedes usar pitch, yaw y roll para mover la orientación de la cámara en diferentes direcciones:
ffmpeg -i imagen_equirect.jpg -vf v360=input=equirect:output=fisheye:ih_fov=180:iv_fov=180:yaw=0:pitch=30 -s 4096x4096 imagen_ojo_pez.jpg
- Si quieres mover la imagen en el domo de izquierda a derecha, ajusta yaw.
yaw = -180
→ Imagen al extremo izquierdo del domo.yaw = 0
→ Imagen en el centro del domo.yaw = 180
→ Imagen al extremo derecho del domo.
Normalmente sólo se usa de -90° a +90°.
- Si quieres mover la imagen hacia arriba o abajo en el domo, ajusta pitch.
pitch = -90
→ Imagen en el cenit del domo (directamente arriba).pitch = 0
→ Imagen en el horizonte del domo (nivel medio).pitch = 90
→ Imagen en el nadir del domo (directamente abajo).
Si se usa pitch=180, la imagen queda invertida.
- Si quieres girar la imagen alrededor de su propio eje (como inclinar la cabeza de lado), ajusta roll.
roll = -90
→ La imagen se inclina 90° en sentido antihorario.roll = 0
→ La imagen mantiene su orientación normal.roll = 90
→ La imagen se inclina 90° en sentido horario.
Plana (flat
) a Equirectangular
ffmpeg -i imagen_plana.jpg -vf v360=input=flat:output=equirect -s 4096x2048 imagen_equirect.jpg
FFmpeg asume que la imagen plana cubre todo el campo de visión de 360° horizontal y 180° vertical. De modo que se perderá la perspectiva natural, se deformará ya que no se está proyectando correctamente en un entorno esférico.
Perspectiva rectilínea
Para evitar la deformación: en lugar de flat
, usa una proyección perspectiva rectilínea (persp
) para definir correctamente el campo de visión (como si fuera una cámara mirando en una dirección específica):
ffmpeg -i imagen_plana.jpg -vf "v360=input=persp:output=equirect:fov=90:yaw=0" -s 4096x2048 imagen_equirect.jpg
fov=90
: Define un campo de visión de 90°, evitando que la imagen se expanda a 360° y se estire.yaw=0
: Mantiene la imagen centrada.
El tamaño de la imagen plana debe calcularse en función del campo de visión. Un FOV de 90° significa que la imagen representa 1/4 de 360° horizontalmente y 1/2 de 180° verticalmente. Por lo que la imagen plana debe ser 1024×1024 px para encajar correctamente sin distorsión.
FOV | Tamaño de la Imagen Plana |
---|---|
90° | 1024x1024 px |
120° | 1365x1024 px |
180° | 2048x1024 px |
360° | 4096x2048 px (sin persp , directamente flat ) |