14

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

4

2 回答 2

12

映射过滤器就是这样做的:

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

基本命令语法是

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

该链接中还包括映射文件

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

于 2016-08-08T08:49:21.003 回答
5

在最新的 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”的缩写
      • yaw : 等角输出中心的视图方向 (=azimut) (=左/右); 使用“pitch”向上/向下查找
      • ih_fov : 输入水平视野;半球是 180°,但有些相机到达 235°
      • iv_fov : 输入垂直视野,通常与 ih_fov 相同
      • h_fov : 输出水平FOV
      • v_fov : 输出垂直视场

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

注意:过滤器适用于图像或视频作为输入

于 2019-10-11T07:31:56.067 回答