[FFmpeg-user] V360 stabilization

Michael Koch astroelectronic at t-online.de
Tue Sep 29 23:54:54 EEST 2020

Hello all,

I've programmed a C# workaround for stabilization of 360° videos. The 
procedure is as follows:

1. FFmpeg: From each frame of the equirectangular input video, extract 
two small images which are 90° apart in the input video. I call them A 
and B images.

2. C# code: Analyze the x and y image shift from subsequent A and B 
images. Calculate how the equirectangular frames must be rotated (yaw, 
pitch, roll) to compensate the image shifts. This part wasn't easy. Two 
rotation matrices and one matrix multiplication are required. Write the 
results to a *.cmd file.

3. FFmpeg: Read the *.cmd file and apply the rotations with the v360 
filter. The output video is stabilized.

For details and source code please have a look at chapter 2.78 in my book:

If anyone wants to implement this in FFmpeg, please feel free to do it.


More information about the ffmpeg-user mailing list