用 FFmpeg 把视频旋转 90 度

使用 transpose 滤镜把拍歪或上下颠倒的手机视频转正,一条命令搞定,无需打开视频编辑器。

Linux视频旋转命令行FFmpeg低风险
执行 ffmpeg -i input.mp4 -vf "transpose=1" -c:a copy output.mp4 即可顺时针旋转 90 度(逆时针用 transpose=2)。

01命令

命令
$ ffmpeg -i input.mp4 -vf "transpose=1" -c:a copy output.mp4

02作用说明

transpose 滤镜控制画面旋转:1 为顺时针 90 度,2 为逆时针 90 度,3 为顺时针 90 度再加垂直翻转(适合镜像拍摄的视频);旋转 180 度就执行两次。只有视频会被重新处理,-c:a copy 保证音频原样保留。如果手机已经写入了旋转元数据,播放器可能再次自动旋转导致画面转过头,此时再加 -metadata:s:v rotate=0 清除该标记。

03风险

风险低风险
使用条件ffmpeg (sudo apt install ffmpeg / sudo dnf install ffmpeg)
!注意: 横屏 16:9 视频旋转后会变成竖屏,宽高互换;请保持高度为偶数,否则部分播放器和编码器会报错。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • FFmpeg Filters Documentation (transpose filter)
    FFmpeg · vendor-doc · 2026-09-17
    依据: transpose rotates video by 90 degrees counterclockwise (0), clockwise (1), or by 180 degrees via two passes; values 2 and 3 include the vertical flip.
  • ffmpeg(1) — Linux manual page
    Arch Linux · community · 2026-09-17
    依据: Documents -vf filter application and stream copy of audio with -c:a copy when the video is re-encoded.

最后验证: 2026-09-18 · 分类: 媒体