2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

网易云信开源会议和低延时直播两大项目:对开发者完全开放、支持修改后商用

  • 2022-06-14
  • 本文字数:2412 字

    阅读完需:约 8 分钟

网易云信开源会议和低延时直播两大项目:对开发者完全开放、支持修改后商用

“我始终相信开源会产生裂变。当越来越多的开发者参与到开源项目中,这套代码、组件就不仅仅只是一套代码,它会变成我们未来的生产力和竞争力。”网易智企低延时直播开源负责人、网易云信流媒体首席架构师吴桐说道。

 

开源去年被纳入《“十四五”软件和信息技术服务业发展规划》,上升到了国家战略层面。同时,开源软件公司在资本市场表现不负众望,多家公司估值突破 100 亿美元。国内的开发者社区和投资人群体对开源的认知在进一步提高。

 

越来越多的企业投身开源,网易智企便是其中之一。今年 3 月,网易智企正式发布了“易+”开源计划。网易智企旗下围绕 IM、音视频技术提供 PaaS 服务的网易云信打响头炮,先后开源了自己的会议组件 NetMeeting SDK和低延时直播方案LLS-Player

 

相关地址:

https://github.com/GrowthEase/NetEase_Meeting

https://github.com/GrowthEase/LLS-Player/

 

开源了什么项目?

 

依托网易 24 年 IM、音视频技术积累,网易云信已经帮助 120 万企业开发者成功发送 1.6 万亿条消息,全球注册应用数 48 万,覆盖智能终端 SDK 数超过 186 亿。“网易智企许多产品和技术发展受益于开源带来的红利,现在我们也将部分技术开源,反哺技术创新。”吴桐表示。

 

今年 3 月份,网易云信首次开源了自己的会议组件 NEMeeting SDK。

 

疫情期间,人们已经对在线会议软件不再陌生,甚至在线会议软件已经成为日常办公的必备工具。为使开发者能够快速便捷地拥有稳定的会议系统,网易会议 NEMeeting SDK 提供了一套简单易用的接口,允许开发者通过调用 SDK 提供的 API,快速集成音视频会议功能至现有应用中。

 


网易会议组件架构

 

根据官方介绍,NEMeeting  SDK 架构可以分为四层:

 

  • Base 主要包含了云信的各基础 SDK 和一些第三方 SDK。

  • Room Kit 是一个无 UI 房间服务组件,承载了与 Server 通信逻辑,同时处理一些会控逻辑。据悉,Room Kit 未来会演进成一个泛会议的房间服务。

  • Meeting SDK 是一个带 UI 的会议服务组件, 提供了一整套的标准会议 UI 实现,以及有限的 UI 自定义功能。

  • App 层,云信标准版网易会议应用实现, 支持直接编译成一个独立的应用。

 

会议组件开源两个月后,网易云信在 5 月份再次开源了低延时直播方案,目前开源了信令交互协议、低延时引擎和播放器插件。开发者使用一套低延时播放器代码,就可实现同时对接多家低延时直播厂商,大大减小包体积的增量。

 

根据吴桐介绍,目前市面上推出的低延时直播产品都采用了私有协议,并且需要绑定对应的 SDK,如果接入多家就需要接入多个 SDK,对包大小非常不友好。采用私有协议也导致各厂商产品之间无法兼容,低延时直播难以大规模推广。

 

因此,网易云信基于 WebRTC 实现了一个通用的低延迟的播放器,主要分为 3 个模块:

 

  • FFmpeg plug-in: FFmpeg 插件。

  • RtdEngineImpl: 低延时播放引擎,既 WebRTC 封装层,包含 API、引擎创建、信令建联、媒体数据的接收回调等。

  • WebRTC: 标准 WebRTC 代码,实现媒体建联,数据接收,数据包排序组帧等。



开发者通过调用低延时引擎 API,快速集成低延时直播功能到现有的播放器中。同时,我们还将低延时引擎相关 API 封装成了 FFmpeg 插件,作为 FFmpeg AVInputFormat 的一种,对于使用 FFmpeg 作为基础库的播放器,开发者仅需将低延时引擎和 FFmpeg 插件源码编译到自己的 FFmpeg 中,不需要对播放器进行改造,通过替换播放 URL,直接复用原有的流程就可以拥有低延时播放的能力。

 

针对低延时直播场景,网易云信深度定制了 WebRTC 引擎,支持 AAC、B 帧和多 Slice,并对首帧和端到端延时都进行了优化,目前首帧时间控制在 200ms 左右,端到端延时控制在 1s 以内。

 

未来,网易云信还会开源低延时直播引擎的裁剪版本,进一步优化包体积和各种播放指标。并继续推出开源的低延时直播推流引擎和低延时推流插件,提供低延时直播的全链路解决方案,进一步降低开发门槛,推动低延时直播行业的快速发展。

 

“网易会议的开源开启了网易智企的开源时代,低延时直播的开源则深化了我们的开源计划。”吴桐说道。

 

开源背后

 

事实上,“易+”开源计划在 2021 年便开始筹备。据吴桐透露,项目开源的准备工作非常多、非常杂。首先需要确定开源的内容、要开源到什么地步,其次需要准备相关的资料,包括一套完整的代码、成熟的指导文档,甚至开源后的持续更新迭代和答疑也需要提前有所准备。

 

在许可证选择方面,吴桐表示不想设置太多限制,希望开源项目可以对所有的开发者完全开放、支持修改商用。因此,目前的 NetMeeting SDK、LLS-Player 都选用了软件授权条款相对宽松的 MIT 许可证。

 

“宽松的许可,能让项目的使用范围更广,开创的内容也更丰富。”吴桐建议道,“对于开源项目,我们比较建议选择 MIT/BSD/Apache,相对宽松的许可证会让大家更有使用的意愿。具体地,还要从许可授权、许可授予条件以及声明免除保证和责任限制等几个方面来综合考虑。”

 

整个筹备过程中,最重要的还是开源源码的筹备。“开放源码的功能实现要最大程度的符合标准,因为我们的低延时播放器除了可以对接云信的服务,也可以对接其他厂商的服务,标准化可以最大程度避免兼容性问题。另外,我们需要进行大量测试,保证代码运行质量和功能指标。”吴桐表示。

 

源码开放只是第一步,网易智企正在搭建和完善开源社区,吸引更多开发者参与共建,不断推进场景化落地。

 

吴桐表示,目前开源社区在代码管理上还是很困难的。社区一方面会接受其他使用源码的开发者提交的代码,与这些开发者做进一步的沟通与交流,另一方面又要防范恶意的代码贡献者,但很难从根本上防范恶意贡献者在代码中留下各样的病毒。“对于开发者提交的开发代码,我们会进行严格的优化和分析,确保能够筛选出可以接收的代码。”

 

目前,网易智企开源的都是云信业务线的技术。吴桐透露,后续会在云商和易盾两条业务线中选择开放其他技术能力。

 

“我们鼓励开发者站在网易智企的肩膀上,基于优质的源代码进行上层开发和迭代创新,深耕需求场景打磨产品,希望可以助力千行百业数字化转型,与行业共同探索开源的巨大社会价值。”吴桐说道。

 

2022-06-14 09:273964

评论 1 条评论

发布
用户头像
开源了2个SDK,也是无语= =,这还值得吹一下吗?
2022-06-30 14:53
回复
没有更多了
发现更多内容

AQS中那些不得不说的理论知识

爱好编程进阶

Java 程序员 后端开发

Python 操作 Excel 第3篇博客,python openpyxl 模块一文打通

梦想橡皮擦

5月月更

Day301

爱好编程进阶

Java 程序员 后端开发

Day340

爱好编程进阶

Java 程序员 后端开发

Git 这样回退代码,才足够优雅

爱好编程进阶

Java 程序员 后端开发

Docker下的Spring Cloud三部曲之一:极速体验

程序员欣宸

Java Spring Cloud 5月月更

SpringSecurity认证流程分析

急需上岸的小谢

5月月更

BATJ内部Java求职面试宝典,尤其应届生如果还没有学过那后悔去吧,也许你已经错过N多家大厂offer

爱好编程进阶

Java 程序员 后端开发

10-2 5-2 查询至少生产两种不同的计算机(PC或便携式电脑)且机器速度至少为133的厂商 (20 分)(思路加详解+测试用例

爱好编程进阶

程序员 后端开发

Nginx 如何将所有 HTTP 的流量转移到 HTTPS

HoneyMoose

C语言_Linux基本命令与C语言基础

DS小龙哥

5月月更

聊聊 C 语言和 ABAP 这两门编程语言的关系

汪子熙

编程语言 C语言 SAP abap 5月月更

2021-6-1【利用指针方法求数组的最大值和最小值】

爱好编程进阶

Java 程序员 后端开发

Day141

爱好编程进阶

Java 程序员 后端开发

Dubbo实战案例01【需求分析及项目创建】

爱好编程进阶

Java 程序员 后端开发

【Go实现】实践GoF的23种设计模式:建造者模式

元闰子

Go 设计模式 建造者模式

15-拦截器

爱好编程进阶

Java 程序员 后端开发

2021 年最新版 68道Redis面试题,20000字,赶紧收藏起来备用

爱好编程进阶

Java 程序员 后端开发

MongoDB 入门教程系列之二:使用 Spring Boot 操作 MongoDB

汪子熙

node.js 数据库 mongodb 分布式数据库 5月月更

企评家,打造专业的企业大数据SaaS平台

企评家

企业大数据 企评家 企业成长性评价

apk瘦身;如何缩小体积呢?这篇文章来教你

爱好编程进阶

Java 程序员 后端开发

2个不同的对象集合如何取交集和差集

爱好编程进阶

Java 程序员 后端开发

320000字2021春招高频面试真题汇总

爱好编程进阶

Java 程序员 后端开发

50道大厂经典Spring面试题,你能答出来几题?

爱好编程进阶

Java 程序员 后端开发

Dart9

爱好编程进阶

Java 程序员 后端开发

从零构建物联网平台-给个理由先

老任物联网杂谈

物联网平台

MongoDB 入门教程系列之三:使用 Restful API 操作 MongoDB

汪子熙

数据库 mongodb 分布式数据库 分布式数据库mongodb 5月月更

用户行为分析模型实践(二)—— 漏斗分析模型

vivo互联网技术

大数据 数据分析 Clickhouse

网站开发进阶(二十六)JavaScript 实现页面刷新方法汇总

No Silver Bullet

JavaScript 页面刷新 5月月更

《对线面试官》Java注解

Java3y

Java 程序员 面试 编程语言 5月月更

Elasticsearch Document Bulk API详解、原理与示例

爱好编程进阶

程序员 后端开发

网易云信开源会议和低延时直播两大项目:对开发者完全开放、支持修改后商用_开源_褚杏娟_InfoQ精选文章