Android 短视频编码录制

1.MediaRecorder 和 MediaCodec功能区别
MediaCodec更偏向原生,而MediaRecorder偏向的上层封装。
MediaCodec类处理视频的时候可以接触到视频流数据的,这里比如我们如果有一些特殊需求,比如视频的叠加技术,添加字幕等就可以在这里处理了。
MediaRecorder这个类相对于MediaCodec简单,因为他封装的很好,直接就是几个接口来完成视频录制,比如视频的编码格式,视频的保存路劲,视频来源等,用法简单,但是有一个问题就是不能接触到视频流数据了,处理不了原生的视频数据了。这个也是他和MediaCodec最大的区别,他完成不了视频的叠加技术的。
2.GLSurfaceView
GLSurfaceView从Android 1.5(API level 3)开始加入,作为SurfaceView的补充。它可以看作是SurfaceView的一种典型使用模式。在SurfaceView的基础上,它加入了EGL的管理,并自带了渲染线程。另外它定义了用户需要实现的Render接口,提供了用Strategy pattern更改具体Render行为的灵活性。作为GLSurfaceView的Client,只需要将实现了渲染函数的Renderer的实现类设置给GLSurfaceView即可。MediaRecorder不支持这个预览录制。
转 Android中直播视频技术探究之—
3.MediaMuxer(4.3Api)
录制功能。将MEdiaCode转码出来的流转换成.MP4文件。
具体参考google grafika/grafika

你可能感兴趣的:(Android 短视频编码录制)