FFmpegAndroid 库在压缩后旋转视频

FFmpegAndroid library rotates video after Compress

execFFmpegBinary(new String[]{"-y", "-i", path, "-s", "160x120", "-r", "25", "-vcodec", "mpeg4", "-b:v", "150k", "-b:a", "48000", "-ac", "2", "-ar", "22050", filePath});

视频压缩后自动旋转..

有什么解决办法吗?

这里是库Link

这可能是 FFMPEG 中的自动旋转问题,您必须禁用自动旋转:

ffmpeg -noautorotate -i input.mp4 output.mp4

如果此解决方案不能解决您的问题,您可以使用 Android API 获取输入视频旋转,如下所示:

MediaMetadataRetriever m = new MediaMetadataRetriever();
m.setDataSource(inputVideoFilePath);
String rotation;
if (Build.VERSION.SDK_INT >= 17) {
     rotation = m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION);
}

找到输入文件的旋转后,您必须相应地旋转输出文件,如下所示:

ffmpeg -noautorotate -i input.mp4 -filter:v "rotation*PI/180" output.mp4