小编Ars*_*nch的帖子

有没有办法在Android上进行图像压缩和保存更快?

情况

我应该在我的应用程序中显示200-350帧动画.图像的分辨率为500x300.如果用户想要共享动画,我必须将其转换为视频.对于转换我使用ffmpeg命令.

ffmpeg -y -r 1 -i /sdcard/videokit/pic00%d.jpg -i /sdcard/videokit/in.mp3 -strict experimental -ar 44100 -ac 2 -ab 256k -b 2097152 -ar 22050 -vcodec mpeg4 -b 2097152 -s 320x240 /sdcard/videokit/out.mp4
Run Code Online (Sandbox Code Playgroud)

要将图像转换为视频,ffmpeg需要实际文件而不是Bitmap或byte [].

问题

将位图压缩到图像文件需要花费很多时间.210图像转换大约需要1分钟才能完成平均设备(HTC ONE m7).在同一设备上将图像文件转换为mp4大约需要15秒.所有用户必须等待大约1.5分钟.

我试过的

  1. 我改变comrpession格式形式PNG到JPEG(1.5分钟结果与JPEG压缩(质量= 80来实现),用PNG大约需要2-2.5分钟)成功
  2. 试图找到如何将字节[]或位图传递给ffmpeg - 没有成功.

  1. 有没有办法(库(甚至本机))使保存过程更快.
  2. 有没有办法将byte []或Bitmap对象(我的意思是png文件解压缩到Android Bitmap Class Object)传递给ffmpeg库视频创建方法
  3. 是否有任何其他工作库将在大约30秒(200帧)中从byte []或Bitmap对象创建mp4(或任何支持的格式(由主社交网络支持)).

java compression android ffmpeg save

5
推荐指数
1
解决办法
1473
查看次数

标签 统计

android ×1

compression ×1

ffmpeg ×1

java ×1

save ×1