【分享】性能比肩美拍秒拍的Android视频录制编辑特效解决方案【2】
2016-09-12 18:57
218 查看
上一篇文章是初步接触Andorid多媒体开发时,以使用纯开源的方式实现的基础效果,效率上有很大问题。经过半年多的继续学习,解决了其中部分有效率问题的地方。
(1)编解码部分
编解码部分之前文章采用的X264+FFMPEG的开源方案,而继续学习之后,找到了android上特有的实现方案。
版本<4.4:x264+ffmpeg or 私有API(libstagefright.so)。
版本=4.4:jni反调android.media.MediaCodec or 或者在java层开发。
版本>4.4:NdkMediaCodec(android.media.MediaCodec 的 jni接口)。
(2)AAC更优开源方案
AAC开源方案FDKAAC一直在更新,效率有提升,而faac早就不更新了。so...你懂的。
AAC也可以使用MediaCodec或者NdkMediaCodec
(3)OpenGL之framebuffer数据的回读
GLES版本<3.0:使用glReadPixels 或者 EGLImageKHR(eglCreateImageKHR,glEGLImageTargetTexture2DOES)
GLES版本=3.0:Pixel Pack Buffer + glMapBufferRange。
Android版本>=4.2:还有一个android平台化的回读FrameBuffer的方案,那就是新建SurfaceTexture和Surface,然后新创建一个OpenGL Context,一比一再渲染一次,即可将FrameBuffer渲染到这个SurfaceTexture上面,surface还可以作为编码器的输入。这样不仅可以快速从渲染结果传递数据到编码器,还能实现跨线程传递纹理数据,属于android平台本身提供的功能,非opengl自带能力。之所以是4.2,是因为SurfaceTexture在4.2以后才基本完善,之前各种不稳定。
(1)编解码部分
编解码部分之前文章采用的X264+FFMPEG的开源方案,而继续学习之后,找到了android上特有的实现方案。
版本<4.4:x264+ffmpeg or 私有API(libstagefright.so)。
版本=4.4:jni反调android.media.MediaCodec or 或者在java层开发。
版本>4.4:NdkMediaCodec(android.media.MediaCodec 的 jni接口)。
(2)AAC更优开源方案
AAC开源方案FDKAAC一直在更新,效率有提升,而faac早就不更新了。so...你懂的。
AAC也可以使用MediaCodec或者NdkMediaCodec
(3)OpenGL之framebuffer数据的回读
GLES版本<3.0:使用glReadPixels 或者 EGLImageKHR(eglCreateImageKHR,glEGLImageTargetTexture2DOES)
GLES版本=3.0:Pixel Pack Buffer + glMapBufferRange。
Android版本>=4.2:还有一个android平台化的回读FrameBuffer的方案,那就是新建SurfaceTexture和Surface,然后新创建一个OpenGL Context,一比一再渲染一次,即可将FrameBuffer渲染到这个SurfaceTexture上面,surface还可以作为编码器的输入。这样不仅可以快速从渲染结果传递数据到编码器,还能实现跨线程传递纹理数据,属于android平台本身提供的功能,非opengl自带能力。之所以是4.2,是因为SurfaceTexture在4.2以后才基本完善,之前各种不稳定。
相关文章推荐
- 【分享】性能比肩美拍秒拍的Android视频录制编辑特效解决方案
- android平台短视频技术之 视频编辑的经验分享
- android平台短视频技术之 视频编辑的经验分享
- 分享磨砺营马剑威老师讲解-Android开发中相机录制视频的实现
- Android 自定义视频录制终极解决方案(翻转问题)
- Android视频录制app解决方案汇总
- android视频的编辑(录制,裁剪,合成)(1)
- Android视频录制app解决方案汇总
- Android平台上图片/视频选择,编辑和压缩的一站式解决方案
- Android 音视频录制(3)——全关键帧视频录制(视频编辑必备)
- android视频的编辑(录制,裁剪,合成)(2)
- android平台短视频技术之视频编辑的经验分享
- Android-Studio 用ShareSDK集成社会化分享,短信验证码,视频录制功能
- Android 音视频编辑经验总结及开源工程分享
- 谷歌官方制作的 android性能优化典范 视频,我下载下来了并做了分享,希望更多人受益吧。
- 分享的是Android图像特效处理的小技巧,比如圆角、倒影、还有就是图片缩放、Drawable转化为Bitmap、Bitmap转化为Drawable等等
- Android 中使用MediaRecorder进行录像详解(视频录制)
- Android 中使用MediaRecorder进行录像详解(视频录制)
- Android多媒体学习十五:使用在内置的Camera录制视频
- 【流媒體】Android 实时视频采集—MediaRecoder录制