如何拼合 VR 视频以在普通屏幕上显示?

问题描述 投票:0回答:0

我不确定这里的术语,但我有一个 VR 视频,旨在使用每只眼睛都有单独屏幕的耳机来显示。它不是 3D,因为当你转过头时你会看到不同的东西,它只是“2,5D”,所以你在看它时会有一种深度感。有两个大致相同的视频通道,只是记录的角度略有不同,类似于人眼看世界的方式。我希望这能让我清楚我有什么类型的视频,否则请在评论中要求澄清(如果此类视频有特殊术语,请告诉我)。

更多细节:原始视频为 4320x2160,基本上是 2160 x 2160 的 2 个方形通道。

我想在普通屏幕上显示不失真的视频。

我在这里阅读了以下问题:

  1. 如何使用 ffmpeg 重新投影和连接这两个剪辑?

  2. Flatten 360鱼眼视频

  3. 如何使用 ffmpeg 去扭曲 180 度或 360 度鱼眼视频?

  4. Flatten 360鱼眼视频

  5. 使用 FFmpeg v360 过滤器展开 180 度 VR 素材

(可能还有更多)。

我想我想将两个视频通道(注意它们在同一个视频流中,不像在电影中你可以有多个不同语言的独立音频流)到单独的文件中,然后“取消失真”。

(3) 给了我一个将视频分成两个文件的命令:

ffmpeg -i -myclip.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left];[0]crop=iw/2:ih:ow:0[right]" -map "[left]" -map 0:a /tmp/left.mp4 -map "[right]" -map 0:a /tmp/right.mp4

这似乎按预期工作但后来我还需要“不扭曲”内容,因为它是用一些鱼眼镜头或类似的东西拍摄的(不在图像绝对中心的直线或多或少是圆形的)。

(5) 建议这个命令:

ffmpeg -i left.mp4 -vf "v360=input=hequirect:output=flat:h_fov=100:v_fov=67.5:w=1280:h=720" leftfixed.mp4

但这产生了 4320x2160 的输出(显然只有一个通道,因为输入只有一个通道)但只是原始图像的中心,我估计内容为 500x250 像素(放大到 4320x2160,所以非常块状)原始图像的中点。

我怎样才能“取消扭曲”这个视频,使其在 2D 屏幕上看起来不错,同时保留尺寸?

ffmpeg 3d 2d virtual-reality flatten
© www.soinside.com 2019 - 2024. All rights reserved.