如何正确保存旋转后的视频文件?
三、解决方案:FFmpeg旋转视频的完整参数配置
1. 基础旋转命令
ffmpeg -i input.mp4 -vf "rotate=PI/2" output.mp4
该命令将视频顺时针旋转90度,但不处理显示矩阵,可能导致播放器显示异常。
2. 同步清除显示矩阵
使用 -metadata:s:v:0 rotate=0 清除原始旋转信息,避免播放器误解方向。
ffmpeg -i input.mp4 -vf "rotate=PI/2" -metadata:s:v:0 rotate=0 output.mp4
3. 自动裁剪黑边
旋转后可能出现黑边,使用 crop 滤镜自动裁剪有效画面:
ffmpeg -i input.mp4 -vf "rotate=PI/2:crop=rotw(0):roth(0)" -metadata:s:v:0 rotate=0 output.mp4
4. 保持原始宽高比,防止画面拉伸
旋转后视频宽高交换,使用 scale 保持比例:
ffmpeg -i input.mp4 -vf "rotate=PI/2:crop=rotw(0):roth(0),scale=ih*mdar:ih" -metadata:s:v:0 rotate=0 output.mp4
其中 mdar 表示主宽高比,确保画面不变形。