How to Create Little Planet Videos with FFmpeg v360

This guide explains how to transform standard equirectangular 360-degree footage into a stylized "little planet" projection using the FFmpeg v360 video filter. You will learn the essential command-line syntax, key parameters for controlling camera pitch and field of view, and how to create both static framing and animated rotations.

Basic Little Planet Command

To generate a little planet, you must take an equirectangular video, project it stereographically, point the camera straight down at the ground, and widen the field of view.

Run the following command in your terminal:

ffmpeg -i input_360.mp4 -vf "v360=input=equirect:output=stereographic:pitch=-90:h_fov=260:v_fov=260,scale=1080:1080" -c:v libx264 -crf 18 -c:a copy little_planet.mp4

Parameter Breakdown

The v360 filter relies on several specific options to achieve the little planet look:

  • input=equirect: Tells FFmpeg that the incoming source is standard equirectangular 360° video (the default 2:1 panorama format).
  • output=stereographic: Sets the projection mapping to stereographic, which naturally conforms spherical coordinates to a flat surface with radial curvature.
  • pitch=-90: Tilts the camera 90 degrees downward. Looking directly at the nadir (the ground) forces the horizon to wrap into an enclosed sphere.
  • h_fov=260 and v_fov=260: Sets horizontal and vertical field of view to 260 degrees. Values between 220 and 280 degrees generally work best; higher values make the planet smaller, while lower values zoom into the center.
  • scale=1080:1080: Resizes the output. Stereographic little planets are best framed in a 1:1 square aspect ratio to prevent clipping and asymmetric distortion.
  • -c:v libx264 -crf 18: Encodes the video using H.264 at a visually lossless quality setting.
  • -c:a copy: Copies the audio track without re-encoding.

Inverted Little Planet ("Rabbit Hole")

If you set the pitch straight up toward the sky instead of down toward the ground, the projection inverts, creating a "rabbit hole" effect where the ground wraps around the outside edge and the sky forms the center:

ffmpeg -i input_360.mp4 -vf "v360=input=equirect:output=stereographic:pitch=90:h_fov=260:v_fov=260,scale=1080:1080" -c:v libx264 -crf 18 -c:a copy rabbit_hole.mp4

Animating the Little Planet

You can dynamically animate the camera angle using time-based expressions (t represents time in seconds) to add motion to the scene.

Rotating the Planet (Spin Effect)

To make the little planet continuously spin clockwise on its axis, modulate the roll parameter:

ffmpeg -i input_360.mp4 -vf "v360=input=equirect:output=stereographic:pitch=-90:roll='10*t':h_fov=260:v_fov=260,scale=1080:1080" -c:v libx264 -crf 18 -c:a copy spinning_planet.mp4

Zooming In Over Time

To animate the field of view smoothly zooming into the planet over a duration, calculate h_fov and v_fov using t:

ffmpeg -i input_360.mp4 -vf "v360=input=equirect:output=stereographic:pitch=-90:h_fov='max(120, 260-10*t)':v_fov='max(120, 260-10*t)',scale=1080:1080" -c:v libx264 -crf 18 -c:a copy zooming_planet.mp4

Interpolation Quality

By default, the v360 filter uses bilinear interpolation. To eliminate aliasing artifacts around fine lines and edges, enable bicubic or lanczos interpolation by appending interp=lanczos to the filter chain:

ffmpeg -i input_360.mp4 -vf "v360=input=equirect:output=stereographic:pitch=-90:h_fov=260:v_fov=260:interp=lanczos,scale=1080:1080" -c:v libx264 -crf 18 -c:a copy sharp_planet.mp4