使用FFMPeg编码库时,Android apk文件过大

11

我正在开发一个使用以下库创建x264视频的应用程序:

com.arthenica:mobile-ffmpeg-full:4.2.2.LTS

但是生成的apk文件太大了(约71MB),所以我尝试:

com.arthenica:mobile-ffmpeg-min-gpl:4.2.2.LTS

这样一来,由于库只下载了少量编解码器(包括我需要的),APK大小减小到了约49mb,这是更好的选择,但对我来说仍然太大了,所以我想知道是否有更好的方法来减小APK的大小,因为人们通常不愿意下载如此庞大的应用程序。

至于应用程序的其余部分(可绘制资源等),它们已经优化得很好了,因为如果我删除这个库并重新构建,应用程序的大小会减小到10mb。

我正在阅读这个问题:FFMPEG Android Library Increase Size

用户S.R建议将所有CPU架构模型压缩在一个归档文件中,并基于CPU模型从应用程序目录中提取目标CPU库,并从那里加载FFmpeg,但我真的不知道该怎么做。

我正在检查我的应用程序文件夹结构,发现有关于FFmpeg库的下列文件夹:

arm64-v8a => ~16mb
armeabi-v7a => ~29mb
x86 => ~17mb
x86_64 => ~21mb

但不确定我是否可以删除它们中的任何一个,而且你可以看到armeabi-v7a是最大的。

输入图像描述


您可以使用Android应用程序包来减小应用程序的大小。此外,如果您能够解释在Android中使用FFmpeg的确切目的,我会为您提供一些好的建议。 - Amit Kumar
感谢您的回复,@Amit Kumar。我正在使用FFMPeg库创建小型(30秒)视频,并且我正在做一些非常特定的事情,这花费了我很多时间来开发,所以我不想重新开发。当我说某些特定的东西时,是因为我正在拍摄设备屏幕的不同截图,而一些文本正在“移动”,就像在跑马灯中一样(实际上并不是跑马灯),具有打字机效果并重叠透明的动画gif,还添加了一些音乐。FFMPeg是我知道可以做到这些事情的最好的库,在我的情况下它运行得很好!唯一的问题是apk大小。 - Diego Perez
非常感谢 com.arthenica:mobile-ffmpeg-min-gpl:4.2.2.LTS 对我很有帮助,我将我的 APK 大小从 130 MB 减少到了 75 MB。 - Kashyap Rathod
2个回答

2
  1. 根据您的要求,FFmpeg 是处理大量视频任务的最佳选择,但问题在于它会增加应用程序的大小。因此,我建议您在项目中编译此 FFMPEG 库,它还具有许多内置函数,如添加音乐、在视频上添加图像等。它肯定会帮助您完成工作,并且大小也非常小,约为11mb。
  2. 您可以使用 Android App Bundle (aab) 进一步减少应用程序的大小。

1
非常感谢@Amit Kumar。我会看看这个的。问题是,如果我不能像在当前库中那样直接启动ffmpef命令,它对我就没有用了,因为我创建了一个非常复杂的带有过滤器和许多参数的ffmpef命令,这花费了我很多时间创建,我不会再重复这个工作。无论如何,我可以尝试,但您建议的库中大部分文本都是中文,并且不清楚它是否支持启动ffmpeg命令。 - Diego Perez
1
你也可以使用这个库进行直接命令。https://github.com/yangjie10930/EpMedia#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%91%BD%E4%BB%A4 - Amit Kumar
非常感谢@Amit Kumar。我会尝试这个方法,同时我也找到了第二种选择,即使用新的apk拆分功能,根据CPU架构进行划分,这样我现在有两个选择。我会等待其他用户的贡献,如果没有,我将把您的答案标记为正确答案。 - Diego Perez

0
使用
implementation "com.arthenica:mobile-ffmpeg-min:4.4.LTS"

根据文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接