大小仅1M,WebRTC原生SDK(EasyRTC)即将发布,免费

之前我们立了个flag,就是说今年要好好深入研究一下WebRTC(WebRTC真是个好东西,今年要努点力把他发扬光大,越Easy越好),当时已经是在研发的关键阶段,也感受到了WebRTC在音视频传输中的独特魅力,当时就一个目标:"把WebRTC的这个门槛给它降下来",那么2025年终了,该交卷了!

我们也就差不多是在上周,终于扫清了所有WebRTC原生SDK的障碍,在这里,我们先提一嘴,这个WebRTC开发有那么难吗?我们先普及一下当前WebRTC开发的现状:

我们WebRTC的初学者最开始基本上都是基于浏览器进行WebRTC js开发,整个过程也比较简单,WebSocket连接信令服务、创建RTCPeerConnection(传入ICE服务的地址)、getUserMedia生成sdp、然后通过WebSocket发送Offer接收Answer、然后就顺理成章开始相互发送RTP音视频数据了,整个过程可以说是简单又愉快!

但这所有的一切简单都是建立在Browser浏览器的基础上,因为浏览器底层已经干了大部分的工作,你只需要用胶水代码粘合对应的工具类就可以了,这让人以为WebRTC开发就这么简单就能完成了,实际在WebRTC产品开发的过程中,有大量的设备不是基于浏览器开发的,而是嵌入式设备、原生App、桌面客户端等等,这个时候难度就突然变的很高!

我们先对比WebRTC原生SDK与WebRTC浏览器SDK开发的区别

WebRTC 原生 SDK 和 WebRTC 浏览器 SDK 它们的主要区别体现在集成方式、开发语言、性能控制和应用场景上。

特性维度 WebRTC 原生 SDK (Native SDK) WebRTC 浏览器 SDK (Web SDK)
集成方式 需要以库的形式手动集成到原生项目中(如 Android 的 Gradle 依赖) 浏览器内置,无需额外下载或安装,通过 JavaScript API 直接调用
开发语言 平台相关语言(如 Android 的 Java/Kotlin,iOS 的 Swift/Objective-C)或 C++ JavaScript (或 TypeScript)
性能与控制粒度 。提供更底层的控制,能直接管理硬件编解码、网络参数等,便于深度优化性能 相对较低。受限于浏览器沙盒环境,控制能力由 Web API 决定,更注重通用性和易用性
功能与一致性 功能更新可能更快,但不同平台(Android/iOS)的实现可能存在差异 功能和行为由 W3C 标准定义,在不同浏览器间能保持较高一致性
主要应用场景 对性能、UI定制化要求高的原生移动应用或桌面应用 需要快速部署、跨平台访问的 Web 网页应用

选择哪种 SDK 主要取决于你的项目需求:

  • 如果你正在开发一个网站或网页应用 ,希望用户无需安装即可快速使用,那么 WebRTC 浏览器 SDK 是理想选择。

  • 如果你正在开发一个高性能的原生移动应用(如直播、视频会议APP) ,需要深度定制音视频处理或精细控制用户体验,那么 WebRTC 原生 SDK 更为合适。

WebRTC原生SDK:EasyRTC

回到我们自己,我们经过长达一年半时间的研发和调优,终于把整套的WebRTC原生功能开发出来了,我们称为"EasyRTC",基于EasyRTC开发WebRTC的原生应用将会大大的降低WebRTC原生开发的门槛,同时我们还会开源一套完整的信令服务,基于WebSocket协议开发,那么基于这一整套的开源和免费功能,可以很快实现一套完整的WebRTC原生应用,用户可以在上面扩展更多的功能!大家可以先在EasyRTC官网体验体验:

EasyRTC的核心竞争力是什么?

纯C开发,非常精简,整个EasyRTC SDK不到1M,可以放到各种嵌入式设备,各种智能设备,各种操作系统(Windows、Linux、Android、iOS、ARM)统统没问题,可以说任何一种设备都可以接入这一套原生的WebRTC基础库。

这个最关键的是什么?是极其精简,整个EasyRTC原生库在各种平台上的大小都控制在1M左右(还在持续压缩):

那么这一套原生的WebRTC功能收费吗?

不收费!熟悉我们EasyDarwin发展历史的都知道,我们早期是靠卖周边SDK维持生计的,卖播放器License、卖拉流库License、卖推流License、卖各种SDK的License,靠卖这些SDK养活整个团队很多年。在度过AI产品转型的艰难期之后,我们在2020年的时候就决定了不再做SDK的生意了,或者准确说不卖SDK的License了,所有SDK都是免费的。那么今天我们研发出来的了这个SDK,就算我们花了将近100万的研发成本。我们同样也要给他免费出去,因为我们的决心是肯定的,坚决不走回头路,不卖SDK License。

我们为什么做这个事情呢?

我们原本是没做这个东西打算的,机缘巧合,我们在24年上有一个综合性的项目,需要用到这个底层的WebRTC原生库,放到摄像机里面。当时为了解决这个问题,我们调研了大量的开源的和免费的WebRTC原生库,可以说没有一个好用的,有的要么用不起来,有的干脆就编都编不过,到现在为止,可以说市面上就没有一个能够能够让用户简单用起来的,不管是开源库还是闭源库,不管是收费库还是免费库,至少能够让用户能简单跑起来行不行!我们当时找这个东西花了我们大量的功夫,结果这一块的交付还是失败了,这让我们的项目直接损失达60多万,就这一点就让人很气愤,所以说我们现在开发出来了,如果说我们做的有问题。请大家欢迎大家来diss我们,欢迎大家来找我们,我们一定兑现自己的诺言,把东西做的足够Easy,足够简单!

那么有需求怎么跟我们合作呢?

有商业反哺当然是能更好地推动产品越做越好,这方面我们有很多很多的成功案例,像EasyNVR(安装量几十万,尤其在NAS上)、像EasyGBS(大量的商业用户,AI+应用特别成功)。关于合作,我们的建议就是,如果说是我们SDK的问题(不要拿基础问题来考验我们哦,都比较忙),那你可以100%的找我们来解决,我们会完整的去解决;如果说需要定制或者说技术服务,那我们就按照技术服务的方式去收费,收费方式也是比较透明的,就在官网上多少多少钱一天。那么如果说有定制或者整个系统的开发,那就是一事一议了。

我们将会在春节前发布和提交完成所有功能与示例代码。

相关推荐
三十_A14 小时前
WebRTC 入门:一分钟理解会议系统的三种架构(Mesh/SFU/MCU)
架构·webrtc
qq_310658511 天前
webrtc源码走读(五)核心引擎层——传输模块
服务器·网络·音视频·webrtc
三十_1 天前
WebRTC 入门:一分钟理解会议系统的三种架构(Mesh/SFU/MCU)
前端·后端·webrtc
qq_310658512 天前
webrtc源码走读(六)核心引擎层——安全模块
服务器·c++·音视频·webrtc
REDcker2 天前
WebRTC-HTTP 出口协议 (WHEP) draft-murillo-whep-01 中文翻译
网络协议·http·webrtc
qq_310658512 天前
webrtc源码走读(七)核心引擎层——Qos模块
服务器·c++·音视频·webrtc
qq_310658512 天前
webrtc源码走读(八)系统接口层
服务器·c++·音视频·webrtc
qq_310658514 天前
webrtc源码走读(四)核心引擎层——视频引擎
服务器·c++·音视频·webrtc
qq_310658515 天前
webrtc源码走读(三)核心引擎层——音频引擎
服务器·c++·音视频·webrtc