【问题标题】:Is there a fisheye or dual fisheye to equirectangular filter for ffmpeg?ffmpeg 是否有鱼眼或双鱼眼到 equirectangular 过滤器?
【发布时间】:2016-10-14 07:04:14
【问题描述】:

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

【问题讨论】:

  • 你能做到吗?
  • 是的,请参阅下面接受的答案,它有效!

标签: ffmpeg fisheye 360-degrees theta360


【解决方案1】:

Remap 过滤器就是这样做的:

此过滤器将源帧逐个像素地复制到目标帧。它 根据两个文件将像素重新映射到新的 x,y 目标 ymap/xmap。

基本命令语法是

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

该链接中还包含mapping files

Ricoh Theta S 相机:分辨率为 1920x960(1080) 的输入文件

【讨论】:

  • 感谢您的回复。你知道我在哪里可以找到 Ricoh Theta S 1280x720 分辨率的 PGM 文件吗?
  • 有没有办法对现有视频执行此操作?而不仅仅是一张图片?
  • @gumis 我已经扩展了projection 工具,所以你也可以为双鱼眼相机生成投影文件,你可以在github.com/raboof/dualfisheye2equirectangular获得它
  • 使用视频作为第一个输入。如果过滤器不重用 X/Ymap 图像,请在每个图像输入之前添加 -loop 1
  • 添加 -r 30 将输出更改为 30 fps。
【解决方案2】:

在最新的 ffmpeg 中,您现在可以这样做将鱼眼视频转换为 equirectangular

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 : 不加警告地覆盖输出
  • i xxx : 输入文件
  • vf yyy:使用过滤器
    • yyy:过滤参数

    • v360 : 过滤器名称

      • dfisheye:双鱼眼(包含两个球体/鱼眼的矩形图像);使用“鱼眼”来使用单个球体/鱼眼
      • e : “equirectangular”的缩写
      • 偏航:等距矩形输出中心的视图方向(=方位角)(=向左/向右);使用“pitch”向上/向下看
      • ih_fov : 输入水平视野;半球是 180°,但有些相机到达 235°
      • iv_fov : 输入垂直视场,通常与 ih_fov 相同
      • h_fov : 输出水平视野
      • v_fov : 输出垂直视场

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

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

【讨论】:

  • 参数的一些 cmets 会很有用;我只知道那些用于图像的...
猜你喜欢
  • 2016-12-21
  • 2021-09-07
  • 2015-02-12
  • 1970-01-01
  • 2022-06-15
  • 2017-01-30
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多