5月29日,QCon全球软件开发大会在北京国际会议中心隆重开幕。在为期三天的技术盛会上,有150余位演讲嘉宾现场分享了最新技术创新和实践,带来一场浩瀚的技术之旅。作业帮流媒体客户端负责人曾建斌受大会邀请,在“音视频体验提升实践”专场,以《WebRTC在作业帮直播课的实践应用》为题,着重分享了作业帮自研的ZRTC技术的应用发展情况。
作业帮曾建斌在QCon全球软件开发大会分享
曾建斌首先介绍了作业帮2015年以来使用WebRTC技术的历程。从最开始使用voice engine模块实现一对一语音通话、使用apm模块消除噪音,到基于licode实现了推流源站和转推功能,再到实现小组直播间多人视频语音功能等,WebRTC技术使用伴随着公司业务发展日益深入。到了2020年,作业帮开始自研ZRTC并且实现全面落地,90%以上实时通信流量都使用了ZRTC。
“为什么我们要重新设计一套RTC服务呢?”曾建斌说,在几年使用WebRTC过程中,发现了一些不适合在线教育行业应用之处,比如代码结构层次太多、版本接口经常变来变去、对移动设备兼容不佳、建立连接的过程长等等。“教育行业直播系统最大的特点是必须要稳定,稳定必须放在第一位,此外还要能快速响应突发情况,对低端设备兼容性好,SDK接口要灵活,多种接入方式能兼顾接通率和成本等。然而,面对教育行业对直播系统近乎苛刻的稳定性要求,却没有银弹可以解决所有的问题。
他介绍,作业帮自研的实时通信服务ZRTC,结合教育场景的要求,实现了对WebRTC的架构优化、网络优化、音视频优化和机型适配优化。以音视频优化为例,改进音频传输策略、主讲录音采用双声道模式、引用AI技术噪音消除等七大项。经过ZRTC优化,实现了四方面效果。第一,与使用第三方RTC服务相比,可以大幅降低成本。第二,从后台打点监控来看,卡顿率比第三方RTC低。第三,音视频质量要好于第三方RTC服务。第四,排查解决问题的速度更快。
曾建斌透露,未来还将对ZRTC技术进行持续优化,实现更好的使用体验。
QCon是由InfoQ中国主办的综合性技术盛会,每年在伦敦、北京、纽约、圣保罗、上海、旧金山召开。自2007年3月份开始举办以来,已经有超万名有多年从业经验的技术人员参加过QCon大会。QCon内容源于实践并面向社区,演讲嘉宾依据热点话题,面向5年以上工作经验的技术团队负责人、机构师、工程总监、开发人员分享技术创新和实践。