在 Windows 中倒置的 .mov 视频在 OSX 中显示为正面

在 Windows 中倒置的 .mov 视频在 OSX 中显示为正面

我有一台通过 BootCamp 安装了 Windows 的 MacBookPro。我从 iPhone 上复制了一个视频并将其保存在 Windows 分区上。视频的缩略图看起来是颠倒的。当我在 Windows Media Player 或 VLC 中播放它时,视频看起来是颠倒的。当我在 QuickTime 播放器(仍在 Windows 上)中播放它时,它看起来是正面朝上的。

然后我启动 MacOS。缩略图看起来是正面朝上的,当我播放它时,它看起来也是正面朝上的。

那么到底发生了什么——哪个应用程序/操作系统告诉我真相了?我想确认一下,因为我想将其上传到 YouTube,而且文件很大,所以不想浪费时间/带宽。

PS 编辑:正如一些人指出的那样 - 有些程序忽略了方向标签。我在 Windows 8 上尝试过,所有程序似乎都尊重该标签(包括 Windows Media Player 和 Metro 屏幕中的 Movie Maker 和视频小程序)。所以进展不错。

答案1

来自旋转的 iPhone 的视频具有一个rotate属性。

如果视频在不支持此属性的标准播放器中显示为倒置,则意味着它实际上颠倒过来,并将属性设置为180

您可以完全删除旋转标志,例如ffmpeg

ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=0 output.mp4

这只会改变元数据,而不会重新编码视频。现在,您的视频应该可以在任何播放器上上下播放。

当然,如果你想将其上传到 YouTube,它会倒过来显示。现在你有两个选择:

  1. 使用它的视频编辑器
  2. 通过在您的机器上重新编码来旋转视频,例如使用ffmpeg,应用hflipvflip过滤器:

    ffmpeg -i input.mp4 -c:v libx264 -filter:v "hflip,vflip" -c:a copy output.mp4
    

    您可能希望-crf 20在后面添加选项-c:v libx264以强制提高质量,因为重新编码视频会在一定程度上降低其质量。较低的 CRF 参数意味着更好的质量,通常您会使用 18 到 28 之间的值。23 是默认值。

答案2

我今天也遇到了这个问题,因为我使用的是 iPhone 发送的 MOV 文件。我使用的是 Windows 11 计算机。直接观看时(即使用 Win Media Player 或 VLC Media Player),视频播放正常,但每当我将其上传到我的演示软件(Proclaim)时,视频就会上下颠倒。

我使用 ffmpeg 重置旋转标志,手动翻转视频等。所有这些似乎都会影响媒体播放器,但在 Proclaim 中它总是坏掉。

我最终通过将文件转换为 MP4 格式解决了这个问题。就这么简单。我猜 Proclaim(在 Windows 上?)不适用于包含旋转的 MOV。

.\ffmpeg -i input.mov output.mp4

相关内容