如何使用 ffmpeg 或 mencoder 将 mp4 视频旋转 180 度

如何使用 ffmpeg 或 mencoder 将 mp4 视频旋转 180 度

在阅读完如何将视频旋转 90 度

我尝试了以下命令:

mencoder old.mp4 -oac lavc -ovc x264 vcodec=mpeg4 -vf flip,mirror -o new.mp4

mencoder old.mp4 -oac lavc -ovc x264 vcodec=mpeg4 -vf rotate=2 -o new.mp4

ffmpeg -i old.mp4 -vf "hflip" -strict -2 new.mp4 

但转换后的视频仍然是颠倒的。

使用

mplayer -vf flip,mirror  old.mp4

按照需要渲染。但无论如何,我想转变它。

我正在 ffmpeg version 2.8.15-0ubuntu0.16.04.1使用 MEncoder 1.2.1 (Debian), built with gcc-5.3.1

答案1

手机中的视频通常具有元数据,可告知播放器在播放时进行旋转(并非所有播放器都遵守此规定)。重新编码时,ffmpeg将根据旋转元数据自动旋转视频,因此您无需执行任何特殊操作:

ffmpeg -i input.mp4 -c:a copy output.mp4

但是,如果旋转元数据错误,您可以简单地删除或更改它,而无需重新编码:

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

或者,您可以将其更改为诸如-metadata:s:v rotate="180"

答案2

我发现以下命令行代码在使用 ffmpeg 的 Ubuntu 20.04LTS 上可以运行:

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

它仅改变元数据,而不会造成质量损失。

相关内容