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
  1. 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°.

  1. 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.

  1. 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)