在单个命令中进行 FFMPEG 缩放和裁剪

The*_*der 0 android ffmpeg

我在 Android 上使用 FFMPEG 使用以下库:http ://writingminds.github.io/ffmpeg-android-java/

这是我正在使用的命令:

"-i " + path + " -vf scale=480:360,crop=360:360:0:00 -strict -2  -preset ultrafast " + fileOutPath
Run Code Online (Sandbox Code Playgroud)

我的目标是将图像缩小到 480x360,然后从 (0,0)(左上角)将其裁剪为 360x360。然而,最终发生的是它从垂直中心裁剪。因此,例如,如果您要拍摄三个块彼此重叠的视频,充满整个屏幕,则裁剪最终将只显示中间块,而我希望显示顶部块。

关于我做错了什么有什么想法吗?

我所有这一切的最终目标是获得尺寸为 360x360 的方形视频。

输出日志:

"-i " + path + " -vf scale=480:360,crop=360:360:0:00 -strict -2  -preset ultrafast " + fileOutPath
Run Code Online (Sandbox Code Playgroud)

Gya*_*yan 5

您的源视频已旋转 90 度!

与原始像素矩阵一起使用

-vf scale=480:360,crop=360:360:120:0
Run Code Online (Sandbox Code Playgroud)

具有旋转重置功能,适用于 2015 年 5 月或更高版本的 ffmpeg 版本。

"-noautorotate -i " + path + \
" -vf scale=480:360,transpose=2,crop=360:360:0:0 
 -strict -2 -preset ultrafast -metadata:s:v rotate=0" + fileOutPath
Run Code Online (Sandbox Code Playgroud)

对于旧版本,请跳过 noautorotate 标志。