技术编程,网易|网易云信流媒体服务端架构设计与实现( 三 )
录制服务方案设计
文章图片
文章图片
以下部分我将介绍了录制服务的搭建 , 很多人认为云端录制比较容易 , 但是由于2B业务的用户场景的多样化 , 使得录制服务会面临很多挑战 。
首先是录制服务方案如何选取 。如果采用实时录制 , 全量通话进行MCU处理 , 性能无法满足 。
如果采用离线处理 , 会遇到一些用户需求问题 , 比如用户要马上看到文件 , 但录制还未开始 。
另外 , 有些用户想要有录制的功能 , 但是媒体数据他们自己加密了 , 我们的服务器没法进行解密 , 所以也无法进行录制 。以上都是一些客观存在的问题 , 为了应对各种用户场景 , 我们设计了一套融合录制方案 。
2.1 融合录制方案
文章图片
文章图片
这张图向大家展示了融合录制方案的内容 。对于即时点播需求很高的用户 , 我们提供了实时MCU服务器 , 实时通话时会把通话内容转给MCU服务器进行数据的混合编码 , 以H264单帧的方式投递到MP4/FLV协议封装服务器上 , 并将封装后的MP4/FLV数据上传到云存储 , 这样用户就可以进行相应的点播 。
另外 , 对于录制功能有要求但对即时点播要求不高的客户 , 需要选择离线处理的方案 , 网络码流Dump服务器实时地将需要录制的会话Dump下来 , 并转成私有Dump文件 , 离线MCU处理器将私有Dump文件进行调度处理 , 最终上传到MP4/FLV协议封装服务器上 , 用户就可以进行相应的点播操作 。以上就是实时录制方案和离线录制方案 。
针对于用户想要将媒体数据加密并且保留录制功能的需求 , 我们开发了录制SDK 。用户可以基于录制SDK开发用户自建录制服务器 , 这套录制方案可以解决大多数用户的录制场景 。
2.2 离线录制实现
文章图片
文章图片
这部分细致介绍一下离线录制方案 , 用户基于RESTful Api向房间管理中心发送录制请求 , 房间管理中心基于调度中心就近调度到一个实时网络码流Dump服务器 , 同时将录制请求和录制参数(用户录制如何布局、是否进行音频能量的选取等)下发到选中的网络码流Dump服务器 。网络码流Dump服务器收到请求通知后会和中转分发服务器建立拉流链路并获取媒体数据 , 之后进行私有协议文件的封装 , 这相当于进行一个离线处理 , 将实时数据封装到离线文件里 , 然后经过离线MCU服务器进行离线文件处理并录制 , 再将录制好的码流投递到文件封装上传服务再到存储点播服务器 , 这样从录制的发起到上传、存储的离线录制就完成了 。
其中私有协议文件格式设计非常重要 , 离线处理要处理好音频和视频的同步以及画面中所有人的音频和视频的同步 , 就需要建立一个合适的同步机制以适配私有协议文件 。
2.3 实时音视频录制与白板录制同步回放机制
文章图片
文章图片
教育场景下 , 如何进行实时音视频录制和白板录制同步回放?
由于白板通讯基于TCP , 实时音视频基于UDP , 两者相互独立 。用户基于白板SDK进行白板数据的传输 , 基于音视频SDK进行音视频通话 , 这就要解决如何进行跨系统之间的录制文件的同步回放问题 。
首先 , 白板服务器集群和音视频服务器集群要基于NTP同步服务器进行时间同步操作 , 即做到离散服务器之间的系统时间一致 。
推荐阅读
- 技术编程|后台权限管理设计思路:三种模型分析
- 技术编程|如何利用数据库进行世界史研究
- 青年|西安邮电大学与安康汉滨区深度合作,研发适合毛绒玩具全产业链实用技术
- 无人科技,电池技术|盘点几种常见的无人机电池
- 行业互联网|让青少年爱上科学 核桃编程AI人机双师模式受关注
- 技术编程|无服务器调研,部署REST API是最普遍用例
- 京东,折叠屏手机|围绕柔性屏的技术、特性、应用、产业化进行了非常专业的解读
- 云计算|腾讯云小微首次技术开放日,揭秘AI语音背后的奥秘
- iQOO手机|“快稳双全”!120W超快闪充技术炫技,十五分钟充满电量
- 驱动中国|国内首次应用!支付宝开放宠物鼻纹识别技术:猫狗都能买保险