企业视频远程通话会议系统EasyRTC-Android使用H.264编码怎样设置?

EasyRTC是青犀团队去年研发的企业远程视频通话会议系统,适合召开各种现场会议,实现多个会议现场之间的视频多画面轮换,支持即时会议、理会、多组会议等会议形式。并将视频会议以图文+视频+现场声音实时广播的形式通过互联网对外直播。

RTC.png

我们在项目中测试发现,有不少Android机器运行EasyRTC时,使用了VP8编解码,然而由于前后台编解码方式不一致,导致播放不了H.264编码的视频。

分析问题:

硬件编解码存在设备适配问题,因为不同的设备使用的硬解码器不同,可能会导致编码失败及解码失败。以Android为例,由于Android厂商众多,使用的cpu芯片更是繁多,同一芯片厂商不同型号实现的硬解码器也有不同,这样就造成适配很困难,况且H.264不是google推荐使用的编解码器(毕竟不是亲生的),所以在适配方面存在很多问题。

然而支持的硬件H.264编码器列表,这里竟然写成了白名单的形式,导致很多机器都适配不了,需要增加白名单的数据。

解决问题:

1、MediaCodecUtils.java中添加如下cpu:

910.png

2、HardwareVideoEncoderFactory.java中的 isHardwareSupportedInCurrentSdkH264方法,增加支持H264的cpu的判断:

911.png

3、HardwareVideoDecoderFactory.java中的isHardwareSupported方法,增加支持H264的cpu的判断:

912.png

EasyRTC视频播放效果:

EasyRTC.png

猜你喜欢

转载自blog.csdn.net/TsingSee/article/details/107483512
今日推荐