实时美颜SDK在Android端应用时怎样实现滤镜功能

[复制链接]
查看: 211|回复: 0
发表于 2019-10-16 15:09:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
实时美颜SDK目前在直播中应用最为广泛,也是直播APP开发者们最常用到的“帮手”之一,由于APP涉及到Android端和iOS端,所以作为SDK开发者在开发时也是需要注意相关问题的。
实时美颜SDK在Android端实现滤镜功能时,我们可以将其分为三个部分:解码播放、显示渲染、颜色参数调整转化。本文主要以颜色滤镜参数的调整来作重点。
美颜sdk20.png
1.播放器
通常采用的是系统媒体播放器(mediapayer),播放在资源路径下的MP4文件。参考代码如下:
private void setupPlayer() {
        try {
            mMediaPlayer =MediaPlayer.create(this, R.raw.testfile);
            mMediaPlayer.setSurface(mSurface);
            mMediaPlayer.setLooping(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
这样一来,待解码之后画面就会通过surface传给渲染层。
2.显示渲染
一般实时美颜SDK在Android端实现滤镜功能,渲染时采用的是OpenGL ES,因为它兼容性较好所以被广泛利用。  
美颜sdk21.png
3.颜色滤镜
在颜色滤镜部分一般比较喜欢或熟悉用RGB来描述图像,RGB三基色描述在图像数字化相对比较方便,但是在滤镜调整过程中更倾向于使用另外一种颜色模型HSL(特别是在Android端)。因为Android端可以很好的支持HSL调整,而在实时美颜SDK中也会存在一个分类,主要是支持饱和度、明度和色相调整接口。
饱和度,即调整颜色的程度。
明度,即调整颜色的能量程度。
色相,即调整颜色属性。
那么,随着用户美颜需求的不断增强,实时美颜SDK开发者在开发时除了需要注重前面的部分以外,还需要注意哪些问题呢?
1.兼容性问题:虽然SDK并不像APP一样具备非常多复杂的功能和机制,但是在开发时需要考虑的部分还是非常多的,兼容性问题是最需要注意的。如果接入SDK出现兼容性问题,那么后期对于整个APP会带来很多麻烦。
2.系统适配问题:由于SDK大多是接入其他APP中进行使用,但是为了保证接入后APP还可以正常运作,所以需要在开发过程中注重Android和iOS系统适配的问题,以避免后期APP出现问题。
美颜sdk3.png
由此可见,实时美颜SDK要想在Android端实现滤镜功能,需要实现的技术相关问题还是比较多的,如果是个人进行SDK的开发,那么就需要多注重文章前半部分提到的三个部分。其次是还需要注意的是,在开发实时美颜SDK时还需要注重接入APP后,APP是否会因此出现一系列的比如兼容性和系统适配等问题,所以说开发一个优质的SDK并没有想象中容易,建议还是找专业的实时美颜SDK服务商吧。
声明:以上内容均为作者本人原创,转载需注明作者及原文链接,欢迎转载分享。

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

 
 
工作时间:
8:00-18:00
客服热线:
15368564009
客服微信