ffmpeg压缩后反转视频分辨率

ffmpeg reverse video resolution after compression

我正在尝试使用 ffmpeg 将视频压缩为 mp4 格式。

使用缩放过滤器:

cmd = "-i, "+in+" -vf scale=480:-2,setsar=1:1, "+out;

或者像这样简单:

cmd = "-i, "+in+" "+out;

如果我尝试这个命令,输出在 potPlayer(win) 或 mxPlayer(android) 等许多播放器中都没有问题,但在 kmPlayer.v3(win) 等一些播放器中它被拉伸了。带或不带刻度过滤器。

我用 Handbrake 尝试了相同的视频压缩,所以我发现我的播放器没有问题。

我用 ffmpeg library

压缩的所有视频的结果都是一样的

还有一个更烦人的问题,就是输出的视频分辨率反了。例如:

Input : w1280 h720

Output : w720 h1280

我在谷歌上搜索了很多,但一无所获。

当您以纵向模式录制视频时,它可能有 rotation metadata 设置,并且 ffmpeg 无法正确使用它与缩放过滤器。

您可以在 ffmpeg 命令行中添加 -noautorotate 选项,或者可能有更正元数据的方法。