android - FFmpegAndroid 库在压缩后旋转视频
问题描述
execFFmpegBinary(new String[]{“-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
推荐阅读
- python - 更新字段而不是添加到字段 pymongo
- r - 计算训练和测试数据集的准确性
- tensorflow - 如何在 tf.keras 中明确输入层
- c# - ASP.NET EF Core 健康检查只返回 200 状态
- mongodb - 在 Mongoose 中过滤两个种群的空值
- c++ - 如何按向量值c ++排序地图
- automated-tests - 空手道 - 如何根据选项值在选择组件中选择选项
- winapi - MFC:对话框 ShowWindow(SW_SHOW) 在 WM_PAINT 之前显示旧内容?
- wordpress - weblinks svg文件一旦放置在网页中就无法工作
- botframework - Teams Bot 消息扩展搜索的导航选项类似于新的内置贴纸应用程序?