技术编程,网易|网易云信流媒体服务端架构设计与实现( 二 )
文章图片
文章图片
做PaaS服务仅仅覆盖三端是不够的 , 要尽可能覆盖更多的平台 , 比如基于web的开发、基于小程序的开发 。由于基于私有协议比较困难 , 我们搭建了WebRTC网关和小程序网关 。
WebRTC网关基于WebRTC标准的实现 , 接收RTP/RTCP的流 , 进行协议的转封装 , 并推送到中转分发服务器的骨干节点上面 , 最终推送到私有用户上 , 这就实现了私有端和web端的互通 , 小程序的网关同理 。这两个网关的搭建足够满足纯粹的实时音视频场景 , 但要做纯粹的实时音视频 , PaaS服务是无法满足用户的需求的 。
1.4 流媒体处理辅助系统
文章图片
文章图片
当一个拥有几十万粉丝的用户进行一个简单的聊天时 , 想要获得聊天内容又想将聊天内容直播给粉丝看 , 此外 , 也想和粉丝聊天并将聊天内容给其他粉丝看 。这就是在基于纯粹的实时音视频的基础上去获得录制、直播、互动直播的功能 。
文章图片
文章图片
为了满足用户的场景需求 , 在基于实时音视频为主要核心系统的基础上 , 搭建了两个辅助的媒体处理系统:直播系统和录制点播系统 。
图中左边展示的是实时通话系统 , 实时通话内容把媒体数据推给互动直播服务器进行媒体数据协议封装 , 封装成私有协议或者RTMP协议 , 并推送到CDN和我们自建的直播源站 , 这样用户就可以基于标准协议从CDN或者直播源站上进行拉流 , 这也正是图中右侧所展示的直播系统 。
直播系统中还有一个单项的直播功能 , 主播支持RTMP协议或者私有协议并推送到直播源站 , 用户从直播源站拉流观看即可 。另外 , 录制功能同样是将媒体内容推送到录制服务器 , 录制服务器进行相应的录制后上传到NOS存储上 , 最后到达点播源站 , 用户通过CDN回源到点播源站 , 并进行录制内容的点播 。以上就是在实现纯粹的实时音视频通话基础上 , 我们相应扩展了其他媒体处理能力 , 使用户使用场景最大化 。
1.5 中心控制系统
文章图片
文章图片
因为会面临会话如何发起、节点如何就近接入、通话过程中如何对通话进行管理等问题 , 所以我们搭建了三个中心控制服务器 。
第一个是会议接入控制中心 , 它的主要职能是提供IM通道 , 用户基于IM消息通知服务器发起通话 。
【技术编程,网易|网易云信流媒体服务端架构设计与实现】第二个是会话调度中心 , 它的职能是为用户创建房间、加入房间调度一个最佳节点 。
第三个是房间管理中心 , 它负责整个房间信息生命周期的管理 , 并提供RESTful Api , 为用户提供房间管理 , 比如查询目前通话的房间内容等 , 都可以通过房间管理中心进行相应的处理 。
举个例子 , 当用户发起一通通话 , 用户A可以基于IM消息发一个创建会议的消息 , 会议接入控制中心会将此消息推送给用户B 。同时会议接入控制中心 , 从房间管理中心、会议调度中心获取相应的信息后 , 通过IM通道将结果反馈给用户A , 用户A再将这些信息反馈给用户B 。用户A或者用户B获取信息后推送给中转分发服务器集群 , 实现整个会议接入点流程 。
以上的内容主要介绍了网易云信如何基于用户的需求打造音视频的PaaS服务 。
推荐阅读
- 技术编程|后台权限管理设计思路:三种模型分析
- 技术编程|如何利用数据库进行世界史研究
- 青年|西安邮电大学与安康汉滨区深度合作,研发适合毛绒玩具全产业链实用技术
- 无人科技,电池技术|盘点几种常见的无人机电池
- 行业互联网|让青少年爱上科学 核桃编程AI人机双师模式受关注
- 技术编程|无服务器调研,部署REST API是最普遍用例
- 京东,折叠屏手机|围绕柔性屏的技术、特性、应用、产业化进行了非常专业的解读
- 云计算|腾讯云小微首次技术开放日,揭秘AI语音背后的奥秘
- iQOO手机|“快稳双全”!120W超快闪充技术炫技,十五分钟充满电量
- 驱动中国|国内首次应用!支付宝开放宠物鼻纹识别技术:猫狗都能买保险