接到上面的需求,要实现一个安卓手机屏幕录像的功能。
正常且直接的思路是想到使用某种手段得到足够多的屏幕图片frame.而后使用开源ffmpeg来进行图片到指定视频的转换 。
本人觉得在手机上实现此功能的缺点如下:
1,要得到足够多的当前屏幕图片帧,则需要开销CPU或内存去处理。
2,ffmpeg进行图片到视频的转换需要时间,正要花销是在对图片进行编码处理,当然还要看图片的质量。而在手机端我们移植ffmpeg成功后,FFMPEG库的转换效率
是远不如在PC端的。所以对图片进行转换等处理放在服务器端是最好的。
3,当FFMPEG移植到 你的APP 应用时,无论通过编译形成的ffmpeg.so动态库或编译成可执行文件。都需要在APK中占用比较大的容量,从而使用你的APK大小变大,
正式商用时用户体验度会受影响。

本文介绍了在Android上实现屏幕录像的过程,包括FFMPEG的移植、截图获取屏幕帧和生成视频文件的步骤。面临的问题包括CPU开销大、图片转换视频时间长。提出了解决方案,如边截取边转换、减小图片质量,以及直接使用ffmpeg处理/dev/graphics/fb0流数据,但遇到了fb0无流数据的挑战。期待探讨更优的性能解决方案。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



