v360 de FFmpeg
El filtro v360 de FFmpeg es una solución integrada para transformar diferentes formatos de proyección de video 360° y fulldome sin necesidad de escribir código personalizado.
Shader GLSL personalizado
Los shaders GLSL permiten una transformación más flexible de la imagen mediante programación en GPU.
- Para convertir equirectangular a fisheye:
ffmpeg -i input.mp4 -vf "glsl='equi_to_fisheye.glsl'" -c:v libx264 -crf 18 -preset slow output.mp4
- Para convertir equirectangular a cubemap y generar las 6 vistas:
for i in {0..5}; do
ffmpeg -i input.mp4 -vf "glsl='equirect_to_cubemap.glsl',setpts=PTS-STARTPTS" -c:v libx264 -crf 18 -preset slow output_face_$i.mp4
done
- Si necesitas generar 12 archivos finales, puedes dividir cada vista en 2 partes:
ffmpeg -i output_face_0.mp4 -vf "crop=in_w:in_h/2:0:0" -c:v libx264 front_top.mp4
ffmpeg -i output_face_0.mp4 -vf "crop=in_w:in_h/2:0:in_h/2" -c:v libx264 front_bottom.mp4