[FFmpeg-user] V360 filter

Michael Koch astroelectronic at t-online.de
Thu Sep 12 15:39:29 EEST 2019

Am 12.09.2019 um 14:05 schrieb Paul B Mahol:
> On 9/12/19, Michael Koch <astroelectronic at t-online.de> wrote:
>> Paul,
>>>>> Make this correction:
>>>>> new_fov = 180 * tan(fov/4)
>>>>> where fov the the field of view you get from the command line, and
>>>>> fov_new is the value that you use for the filter.
>>>>> You must exclude values too close to 360°, because 360° stereographic
>>>>> projection is impossible.
>>>> P.S. of course fov must be converted to radians before using tan():
>>>> new_fov = 180 * tan(fov * pi / 720)
>>> Thanks, that cleared some stuff.
>>> Should be fixed.
>> Converting from equirectangular to stereographic is working fine now.
>> Field of view is correct.
>> But in the other direction from stereographic to equirectangular the
>> output is wrong.
>> The output doesn't contain any no-data areas. I mean those areas that
>> aren't visible in the stereographic input. These areas should be filled
>> with black (or better a user-defined color).
> That is not doable by design.

What about fisheye input and output?
Fisheye (180°) input is almost the same as already implemented as 
dfisheye, and if the second hemisphere doesn't exist it can be replaced 
by a color.
Fisheye input and output is important. For example I've made a long-time 
timelapse from many fisheye images, but some of the images require a few 
degrees tilting. That means the fisheye image must be converted to 
equirectangular, tilted, and then converted back to fisheye.

>> Also, the default output size should be width/height=2, but it is quadratic.
> output size for what?

The equirectangular output image should have width/height=2 by default.

If the input format is stereographic and the output format is 
equirectangular, what's then the meaning of the h_fov and v_fov parameters?
Do they define the field of view of the stereographic input (that would 
make sense),
or do they define the field of view of the equirectangular output (that 
makes no sense, because equirectangular should always be 360° x 180°).


More information about the ffmpeg-user mailing list