使用 Ubuntu 将视频文件旋转 90 度

使用 Ubuntu 将视频文件旋转 90 度

我想使用 Ubuntu 和标准软件包(例如 ffmpeg)将 .3gp 视频文件向任意方向旋转 90 度。最好使用命令行或 Python 脚本。

我怎样才能做到这一点?

答案1

通过使用甚高频液晶,您可以通过前往“工具 >> 首选项...”来旋转视频。

并选择“全部”进行显示设置。然后转到:视频 >> 滤镜 >> 旋转

设置所需的度数后,您可以通过前往工具 > 效果和过滤器 > 视频效果 > 几何... 进行旋转。

替代文本

我测试的是mp4,但我相信甚高频液晶也可以支持 3gp。希望这会有所帮助。:)

答案2

从命令行使用 ffmpeg:

ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
  • transpose=1将顺时针旋转视频 90 度;要逆时针旋转,请使用transpose=2。请参阅转置文档了解更多信息。

  • -metadata:s:v rotate=""将剥离任何现有的视频流旋转元数据;否则ffmpeg将复制它,这可能会导致您的播放器应用额外的不必要的旋转。

  • 有关此处视频编码设置的信息,请参阅本 H.264 编码指南AAC 编码指南如果你想重新编码音频而不是流复制

答案3

自最初回答此问题以来,libav 发生了一些变化。为了保持最新和实用,我将提供以下内容:

您可以使用转置视频过滤器通过最新版本来实现这一点ffmpegavconv

avconv -i inputfile -vf transpose=clock outputfile

顺时针旋转。

在 ffmpeg 中语法是相同的。

ffmpeg -i inputfile -vf transpose=clock outputfile

在哪里输入文件是您支持的输入视频文件,输出文件是您想要的输出文件。

逆时针旋转时更换时钟

以下是文档的摘录:

‘cclock_flip’

    Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’

    Rotate by 90 degrees clockwise.
‘cclock’

    Rotate by 90 degrees counterclockwise.
‘clock_flip’

    Rotate by 90 degrees clockwise and vertically flip. 

资料来源:

在 Ubuntu 14.04.5 LTS、Ubuntu 16.04、Ubuntu 18.04 上测试

答案4

我不知道具体有什么区别,但最佳答案 ffmpeg 命令需要很长时间才能在我的计算机上运行才能旋转视频。

另一方面,这个 ffmpeg 命令仅花费大约 7 秒钟来旋转 2gb 的视频文件:

ffmpeg -i input-video.mov -metadata:s:v \ 
  rotate="-90" -codec copy output-video.mov

相关内容