Android手机直播之处理技术分析
视频处理
美颜现在几乎是一个手机直播软件的标配,经过美颜后主播颜值更高,对粉丝也就更有吸引力,也有一些安卓直播应用可以对主播进行人脸识别,然后添加好玩的动画特效,有些时候我们也需要对视频添加水印。
其实对视频进行美颜和添加特效都是通过OpenGL进行处理的。Android中有GLSurfaceView,这个类似于SurfaceView,不过可以利用Renderer对其进行渲染。通过OpenGL可以生成纹理,通过纹理的Id可以生成SurfaceTexture,而SurfaceTexture可以交给Camera,最后通过纹理就将摄像头预览画面和OpenGL建立了联系,从而可以通过OpenGL进行一系列的操作。
美颜的整个过程无非是根据Camera预览的纹理通过OpenGL中FBO技术生成一个新的纹理,然后在Renderer中的onDrawFrame()使用新的纹理进行绘制。添加水印也就是先将一张图片转换为纹理,然后利用OpenGL进行绘制。添加动态挂件特效则比较复杂,先要根据当前的预览图片进行算法分析识别人脸部相应部位,然后在各个相应部位上绘制相应的图像,整个过程的实现有一定的难度。
音频处理
在一些情况下,主播需要添加一些额外的声音以增加直播气氛,比如:鼓掌声等等。一种处理方式是让附加的声音直接播放出来,这样麦克风会采集到然后一起录制,但是这样的处理在主播戴上耳机或者需要对声音进行回声消除处理的情况下就不能起到作用。由于我们项目中也未加入相应功能,暂时未有相关经验进行分享,之后我们可能会加上这个功能,到时候再和大家分享。
以上是 Android手机直播之处理技术分析 的全部内容, 来源链接: utcz.com/z/514949.html