FFmpegAndroid库在压缩后旋转视频

FFmpegAndroid库在压缩后旋转视频,android,ffmpeg,android-ffmpeg,Android,Ffmpeg,Android Ffmpeg,execFFmpegBinary(新字符串[]{“-y”、“-i”、路径、“-s”、“160x120”、“-r”、“25”、“-vcodec”、“mpeg4”、“-b:v”、“150k”、“-b:a”、“48000”、“-ac”、“2”、“-ar”、“22050”、文件路径}) 视频压缩后自动旋转 有什么解决办法吗 这是lib这可能是FFMPEG中的自动旋转问题,您必须禁用自动旋转: ffmpeg -noautorotate -i input.mp4 output.mp4 如果此解决方案无法解

execFFmpegBinary(新字符串[]{“-y”、“-i”、路径、“-s”、“160x120”、“-r”、“25”、“-vcodec”、“mpeg4”、“-b:v”、“150k”、“-b:a”、“48000”、“-ac”、“2”、“-ar”、“22050”、文件路径})

视频压缩后自动旋转

有什么解决办法吗


这是lib

这可能是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

-没有自动旋转装置。。谢谢,伙计,但现在视频的高度降低了,压缩后的视频显示不正确。。你有什么解决办法吗?这是我的命令execFFmpegBinary(新字符串[]{“-noautorotate”、“-i”、path、“-s”、“800x600”、“-r”、“25”、“-vcodec”、“mpeg4”、“-b:v”、“150k”、“-b:a”、“48000”、“-ac”、“2”、“-ar”、“22050”、filePath})@BhavinKevadiya我认为您正在将输出宽度和高度设置为800宽度和600高度,而现在您的输出大小不同了,顺便说一句,如果您接受答案,如果它解决了您当前的问题,我将不胜感激。如果我想要默认的高度和宽度呢?@BhavinKevadiya,如果您删除“800x600”部分呢?您还可以使用MediaMetadataRetriever类中的METADATA\u KEY\u video\u height和METADATA\u KEY\u video\u width键获取输入视频的宽度和高度。我试试看