[FFmpeg-user] v360 / perspective

Paul B Mahol onemda at gmail.com
Sat Dec 5 12:38:35 EET 2020


On Sat, Dec 5, 2020 at 11:02 AM Michael Koch <astroelectronic at t-online.de>
wrote:

> Am 04.12.2020 um 18:14 schrieb Paul B Mahol:
> > On Wed, Dec 2, 2020 at 11:11 PM Michael Koch <
> astroelectronic at t-online.de>
> > wrote:
> >
> >> Am 01.12.2020 um 19:56 schrieb Michael Koch:
> >>> Hello,
> >>>
> >>> there seem to be some problems in the v360 filter with "perspective"
> >>> output.
> >>> Tested with the latest Windows built, 2 days old. You can reproduce
> >>> this with any equirectangular input image.
> >>>
> >>> ffmpeg -i equirectangular_test.png -lavfi v360=e:perspective -y
> out1.png
> >>>
> >>> The output of the above command has two problems:
> >>> -- The center of the input image is not mapped to the center of the
> >>> output image. For most other projections the image center is preserved.
> >>> -- The output is mirror reversed (which means you cannot read text).
> >>>
> >>> Both problems can be corrected with this workaround:
> >>>
> >>> ffmpeg -i equirectangular_test.png -lavfi
> >>> v360=e:perspective:pitch=90:v_flip=1 -y out2.png
> >>>
> >>> Now I want to add a yaw rotation after the pitch rotation:
> >>>
> >>> ffmpeg -i equirectangular_test.png -lavfi
> >>> v360=e:perspective:rorder=pyr:pitch=90:yaw=20:v_flip=1 -y out3.png
> >>>
> >>> But in the output you can see that a roll rotation was done.
> >> Today I did for the very first time figure out how to compile ffmpeg.
> >> The above problem can be solved by changing two lines in vf_v360.c
> >> Sorry, I haven't yet figured out how to use git.One thing after the
> >> other...
> >>
> >> Old version:
> >> line 3136:   vec[1] = sin_theta;
> >> line 3137: vec[2] = cos_theta * cos_phi;
> >>
> >> New version:
> >> line 3136: vec[1] = cos_theta * cos_phi;
> >> line 3137: vec[2] = sin_theta;
> >>
> >> I'm not sure if lines 3139 to 3141 must also be changed.
> >>
> >>
> > Good job!
> > Please write a patch with correct authorship and send it to the devel
> list.
> > Fixing this for you was much more work than writing & sending patch will
> be.
>
> Can you please explain what's the exact meaning of "v_fov" with
> perspective output?
>

What's written in documentation. It just scales differently.


> I think it might be the distance from the camera to the surface of the
> sphere, normalized to the sphere's radius. But only approximately.
> What's the default value and where in the source code is it set?
>

It is there in perspective code.
Experiment with various values and you will see.


>
> Michael
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list