Máscara de transparencia.

Para enmascarar el área fuera del círculo en negro en un video fisheye, la mejor opción es usar una máscara circular (mask.png en 4096x4096) donde el centro es blanco y el exterior es negro.

ffmpeg -i input.mp4 -i mask.png -filter_complex "[0:v]v360=input=equirect:output=fisheye:ih_fov=180:iv_fov=180, scale=4096:4096, format=rgba [fisheye];
[fisheye][1:v] alphamerge" -s 4096x4096 output.mp4
Shell
  1. scale=4096:4096
    • Redimensiona el video a 4096x4096 para que coincida con la máscara.
  2. format=rgba
    • Asegura que el video tenga un canal alfa (transparencia).
  3. alphamerge
    • Aplica la máscara de transparencia.

Si la mascara mask.png no tiene transparencia, entonces alphamerge no funcionará porque ese filtro requiere una imagen con un canal alfa.

Máscara blanco y negro


ffmpeg -t 2 -i Minecraft.mp4 -i mask.png -filter_complex "[0:v]v360=input=equirect:output=fisheye:ih_fov=180:iv_fov=180:w=4096:h=4096, scale=4096:4096, format=rgba [fisheye];
[1:v]format=rgba, scale=4096:4096, colorkey=white:0.3 [mask];
[mask] gblur=sigma=2 [mask_blur];
[fisheye][mask] overlay" -s 4096x4096 Minecraft_4.mp4
Shell

alphamerge interpreta blanco como transparente y negro como opaco. Si necesitas invertir la máscara, puedes usar negate.

  1. w=4096:h=4096 en v360
    • Esto obliga a que el filtro v360 genere una salida de 4096x4096, sin importar la relación de aspecto original.
  2. scale=4096:4096 en la máscara
    • Asegura que la máscara tenga el mismo tamaño que el video transformado.
  3. Convierte la máscara a RGB y elimina el color blanco con colorkey=white:0.1, donde:
    • white indica que se eliminará el color blanco. 0.1 es (similarity) el umbral de tolerancia (ajústalo si es necesario):
      • colorkey=white:0.1 → Borra solo el blanco puro (#FFFFFF).
      • colorkey=white:0.2 → Borra blancos y tonos cercanos.
      • colorkey=white:0.3 → Aumenta la tolerancia, eliminando más bordes.
  4. Aplica un suavizado con gblur=sigma=2 para reducir los bordes duros.
  5. Superpone la máscara al video con overlay.