写点什么

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

  • 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:273466

评论 1 条评论

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

支持M/Intel mac的Netflix 奈飞客户端 v2.13.0激活版

南屿

Netflix Mac激活版 macOS 播放客户端 网飞

为何 DevOps 会给开发人员带来压力和倦怠?

不在线第一只蜗牛

架构 DevOps 开发

实时数仓投放主备链路Diff测试工具落地实践

得物技术

AI 数据

开启安全功能 ES 集群就安全了吗?

极限实验室

console 集群

【原理篇】Supabase关联查询:内联、外联及外键约束

张文平

外键 Function 关联查询 Supabase Postgrest

2024你好!

鲸品堂

【原理篇】Supabase应用开发为什么要配置RLS

张文平

权限 PgSQL Supabase 访问权限 Postgrest

技术文档指南:版本说明、网站文案、FAQ、案例研究与内容优化

小万哥

程序人生 软件工程 后端开发 技术写作 文档指南

2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time, 分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠, 一位需要 付费 的油漆匠

福大大架构师每日一题

福大大架构师每日一题

好用的视频下载和转换器:YT Saver 中文直装版

胖墩儿不胖y

视频处理 Mac软件 视频处理工具

JAVA开发工具Eclipse和MyEclipse

小魏写代码

玩转数据世界:跨工作空间的安全授权与高效查询

观测云

数据可视化 数据授权

一文搞懂深度信念网络!DBN概念介绍与Pytorch实战

EquatorCoco

架构 网络 PyTorch

【介绍篇】Supabase与Firebase的关系和区别

张文平

数据库 云服务 Baas Supabase firebase

软件测试/测试开发丨Python 列表

测试人

软件测试 测试开发

京东商品评论数据接口(JD.item_review)丨京东API接口

tbapi

京东商品评论数据接口 京东商品评价接口 京东商品评论API 京东商品评价API 京东评论API

用友BIP全球司库助力陕西建工控股集团打造世界一流司库体系

用友BIP

全球司库

程序员会不会被人工智能取代?

ZA技术社区

程序员 #人工智能

数字孪生技术详解

3D建模设计

3D数字孪生场景编辑器 3D场布工具

营销创意素材如何秒级智能生成?即时创意白皮书来了!

京东科技开发者

Markdown写作和笔记管理 MWeb Pro激活中文版

mac大玩家j

Mac软件推荐 写作软件

软件测试/测试开发|一文带你了解Python列表操作

霍格沃兹测试开发学社

逻辑回归算法是什么呢?

小齐写代码

Microsoft 365 (原office365) Mac版 v16.80正式破解版下载

南屿

Office Microsoft 365 office许可证 office365破解版

强大的数据库管理工具:DBeaver破解版

南屿

数据库 DBeaverEE 破解软件

数字孪生开发:基础知识、类型、优势和成本

3D建模设计

3D数字孪生场景编辑器 3D场布工具 3D场景搭建

干货|EasyMR 基于 Kubernetes 应用的监控实践

袋鼠云数栈

大数据 Kubernetes 云原生 可观测性 Promtheus

商智C店H5性能优化实战

京东科技开发者

前端

苹果Mac版交互式原型设计 Axure RP 8 汉化激活版

mac大玩家j

Mac软件 原型设计工具 交互原型设计

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