旋转MP4,改变尺寸

旋转MP4,改变尺寸

我有一个用我的 Android 手机拍摄的 MP4 视频,但是那个人用某种奇怪的方式拿着我的手机拍摄了它。

当在 QuickTime 中观看它时,我必须将笔记本电脑旋转 90 度,然后我才能将其视为常规的宽屏视频,并且一切看起来都很好。

在 VLC 中,视频已经是具有适当尺寸的宽屏,但它是颠倒的,所以我必须将笔记本电脑翻转过来。

当我将它导入 iMovie 时,我将其旋转了 90 度,它现在是正面朝上,但视频被挤压了,并且仍然高度大于宽度。

不知道发生了什么,但我怎样才能使它变成宽屏并且正面朝上?

答案1

MP4 文件可以有一个rotate标志,告诉播放器在播放期间旋转视频,而不会改变实际视频比特流的编码和方向。 VLC 自版本以来支持此标志2.2.0

问题在于你想用视频做什么。你基本上有两个选择:

  • 保持原样并删除旋转标记。如果您以后想编辑视频,请在您使用的任何程序中翻转它。如果您想播放它,请选择支持即时旋转的播放器。
  • 旋转并转码视频,使其具有正确的方向。不过这会稍微降低视频质量。

您可以使用 完成所有这些操作ffmpeg下载静态构建适用于您的操作系统,并将其解压到一个目录,例如,以便ffmpeg可执行文件位于~/Downloads。然后打开终端窗口并导航到所述目录:

cd ~/Downloads
./ffmpeg

这应该会运行ffmpeg二进制文件。有关更多信息,请阅读我们的博客文章ffmpeg


以下是您可以使用的实际命令。如果您想保留实际的视频比特流并删除旋转标志,则只需删除第一个视频流的元数据v:0,然后复制视频和音频比特流(-c copy):

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

如果您想要对视频进行转码,将其翻转 180°,则需要指定视频编码器(此处为libx264)和翻转过滤器。音频流将被复制过来。

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

您可以调整 CRF(恒定利率因子) 来更改视频质量。合理的值介于 18 和 28 之间,具体取决于您的输入质量。值越低意味着质量越好,因此如果您的视频最终看起来比原始视频更差,请尝试使用较低的 CRF 值。

相关内容