ffmpeg 是否有鱼眼或双鱼眼到等距柱状过滤器?

Is there a fisheye or dual fisheye to equirectangular filter for ffmpeg?

或者使用现有过滤器的方法?这样您就可以从鱼眼或双鱼眼相机(例如 Ricoh Theta)获取视频并直接实时将等距柱状投影输出到 RTMP 之类的东西?

Remap 过滤器就是这样做的:

This filter copies pixel by pixel a source frame to a target frame. It remaps the pixels to a new x,y destination based on two files ymap/xmap.

基本命令语法是

ffmpeg -i fisheye_grid_input.jpg -i fisheye_grid_xmap.pgm -i fisheye_grid_ymap.pgm -filter_complex remap out.png 

link 还包括

mapping files

Ricoh Theta S camera: input files for resolution 1920x960(1080)

在最新的 ffmpeg 中,您现在可以执行此操作将鱼眼视频转换为等距柱状视频

ffmpeg -y -i in.mp4 -vf v360=dfisheye:e:yaw=-90 -c:v libx265 -b:v 40000k -bufsize 5000k -preset ultrafast -c:a copy out.mp4
  • y : 覆盖输出而不用 wanring
  • i xxx : 输入文件
  • vf yyy: 使用过滤器
    • yyy: 过滤器参数

    • v360:过滤器名称

      • dfisheye :双鱼眼(包含两个spheres/fisheye的矩形图像);使用“fisheye”来使用单个 sphere/fisheye
      • e :“equirectangular”的缩写
      • yaw : 等角输出中心的观察方向 (=azimut) (=look left/right);用“pitch”来看up/down
      • ih_fov:输入水平视野;半球是180°,但有些相机到达235°
      • iv_fov:输入垂直视野,通常与ih_fov
      • 相同
      • h_fov:输出水平FOV
      • v_fov:输出垂直FOV

文档:https://ffmpeg.org/ffmpeg-filters.html#v360

注意:过滤器在输入图像或视频时都能正常工作