【问题标题】:FFMPEG Remap with video带视频的 FFMPEG 重映射
【发布时间】:2018-11-18 04:31:16
【问题描述】:

我正在尝试使用 FFMPEG Remap 过滤器将圆形鱼眼视频转换为 equirectangular 形状。为此,我使用 FFMPEG 文档的 Remap 页面中记录的投影脚本来为我的相机生成地图文件。

我的问题是这样的:
我成功处理了静止图像,但在尝试输出视频时,我只得到黑帧。

原创

已转化




基于此链接:
Is there a fisheye or dual fisheye to equirectangular filter for ffmpeg?

我相信我需要在过滤器文件之前使用 -loop 参数才能将图像数据作为帧处理,但是当我尝试这样做时,出现错误:

    failed to reallocate parser buffer



我的问题是:

谁能提供有关如何在视频文件上正确使用 FFMPEG 重映射的指导?

这是我正在使用的当前命令(除非我删除 -loop 参数否则不起作用)

    ffmpeg -i short.mp4 -loop 1 -i xfly.pgm -loop 1 -i yfly.pgm -filter_complex remap -c:v libx264 -c:a copy out.mp4

[编辑] 更新

经过进一步研究,-loop 选项应该在文件输入之前出现,而不是图像映射输入......就像这样

    FFMPEG -loop 1 -i file.mp4 -i x.pgm -i y.pgm -filter_complex remap out.mp4

但是现在我得到了:

    Option loop not found

-loop 似乎只有某些图像扩展支持

【问题讨论】:

  • 可以分享文件吗?

标签: video ffmpeg


【解决方案1】:

使用

ffmpeg -i file.mp4 -i x.pgm -i y.pgm -filter_complex remap,format=yuv444p,format=yuv420p out.mp4

重映射过滤器仅输出完全采样的色度而不是subsampled 格式,并且大多数播放器仅播放 4:2:0 子采样视频,因此必须插入格式过滤器才能转换为可接受的格式。

这里的问题与循环播放视频或地图无关。重映射将为视频的所有帧重用静态未循环映射。

【讨论】:

【解决方案2】:

最新版本的 FFMPEG 现在实现了 V360 过滤器:

ffmpeg -i input.jpg -vf v360:fisheye:equirectangular:ih_fov=180:iv_fov=180:pitch=0 -y output.jpg
  • -i 输入文件
  • -vf 视频过滤器
    • v360:VR360全景转换
      • 鱼眼:源格式
      • equirectangular:目标格式
      • ih_fov:输入水平视野
      • iv_fov:输入垂直视场
      • 俯仰:相机向上/向下方向
  • -y 覆盖
  • 输出文件

可能不是很精确,因为它是“通用的”,但至少它很容易使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-22
    • 2012-10-07
    • 2020-09-17
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多