默认
打赏 发表评论 122
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
移动端实时音视频聊天框架:RainbowAV基本介绍
微信扫一扫关注!

一、作者的话


众所周之,实时音视频技术是音视频技术+网络技术的混合体,如果没有技术基础或积累(单就音视频技术而言,能吃透这些,博士学位都可以混出来了),开发难度相当高(做过的都知道,音视频框架即使只要做到手机端兼容性好、稳定不崩溃那都不是件容易的事)。目前除了谷歌开源的WebRTC外,互联上你几乎连一个完整的Demo都找不到,而即便有了开源的WebRTC,但其近5G的源码,想从中扒出你想要的部分,谈何容易。

RainbowAV并不是一个实时音视频Demo,起初它是为配合RainbowChat产品而开发的移动端实时音视频框架,但它从第1行代码开始,就被设计为以独立的SDK方式集成和使用,从而扩展它的使用场景和应用范围。

最新动态:已发布RainbowAV v2.2.5版(详见版本更新说明)。

相关链接:
  ① RainbowAV性能测试报告:点此进入 推荐
  ② 移动端即时通讯框架:MobileIMSDK
  ③ Web端即时通讯框架:MobileIMSDK-Web
  ④ 移动端实时音视频框架:RainbowAV
  ⑤ 全功能产品级IM案例:RainbowChat
  ⑥ Web端产品级IM案例:RainbowChat-Web

二、支持作者


RainbowAV此前仅提供给商业用户使用,现已精心整理并以有偿的方式开源所有源码和资料,希望得您的支持和理解。高质代码、数量有限

有偿开源的存在,是作者目前为数不多的物质支撑,如果您希望本工程能够持续发展下去,使得您的项目能够得到它持久的回馈,您的支持意义非凡。Jack Jiang依托即时通讯网长期提供即时通讯技术的分享和传播,这里的技术资源和技术支持毫无疑问是您能找到的最低成本且是最优质的,您的支持是我们继续下去的动力!

支持作者得 RainbowAV 源码和资料:
资源名称包含内容金额获得方式发货方式专享技术支持
<Android端源码+文档>• 1、SDK应用层Java源码
• 2、SDK核心层C++源码
• 3、精篇Demo源码
• 4、客户端JNI编译手册

1499 元
749 元
淘宝链接付款后发货1、VIP技术群
2、论坛讨论区
3、一对一交流
4、永久免费升级
<服务端源码+文档>• 1、服务端C++源码
• 2、服务端2进制编译版(可立即部署)
• 3、
服务端架构设计与详细部署手册
1599 元
799 元
淘宝链接付款后发货

移动端实时音视频聊天框架:RainbowAV基本介绍_a_280.jpg        移动端实时音视频聊天框架:RainbowAV基本介绍_s_280.jpg
taobao.com/item.htm?id=558608418703          taobao.com/item.htm?id=558796195010

三、基本介绍


移动端实时音视频聊天框架:RainbowAV基本介绍_logo_52im.jpg

RainbowAV是一套完整移动端实时音视频框架(含服务端),不依赖于第3方服务,可私有化部署,使用方便,部署简单,轻量级、模块化设计,开发者可方便修改、演进甚至用于2次开发。

RainbowAV主要技术特征如下:

  • 独立无依赖:自主开发、不依赖第3方、可局域网部署;
  • 部署极简单:服务端轻量级、极少依赖、简单易用、3行指令即可部署
  • 真正高性能:服务端基于Linux epoll,真正高性能;
  • 服务端拆分:服务端拆分成3个服务,均可独立部署,进一步提升单实例性能;
  • 支持分布式:可同时部署多实例,在保证单实例性能的前提下,极易实现分布式性能负载;
  • 客户端性能:底层核心为C++编写,性能优先,CPU占用约17%手机QQ的约20%、微信的约为19%);
  • 产品级品质:客户端经过大量手机测试和适配,它并不是个Demo
  • 占用资源少:客户端资源占用极少,持续运行时内存仅占13M左右
  • 手机兼容好:Android 2.3及以上版本手机均可流畅运行
  • 优先用P2P:优先使用P2P降低服务器负载,不成功时才使用中转策略;
  • 视频高压缩:实时音视频时上下行总流量约30KB/S手机QQ和微信的实时音视频均约60KB/S);
  • 音频高压缩:实时语音时上下行总流量约9KB/S手机QQ约14KB/S、微信约6KB/S);
  • 主流编解码:视频使用H.264、音频为G729A
  • 弱网络支持:可应用于3G、4G等弱网络,在跨洲际高延迟网络下做过大量测试。

补充说明:以上描述的具体测试数据,详见《移动端实时音视频框架:RainbowAV的性能测试报告》。RainbowAV已于2017年9月正式对外发布(在此之前仅对商业用户授权使用),如有需要可自行从淘宝下单,付款后会立即自动发货到您的淘宝关联邮箱,无需等待处理。

四、源码和文档获取


RainbowAV工程目前未开源,您可通过淘宝链接捐助的方式获取(同时您也将立即获得作者的专享技术支持),详见文首“淘宝下单”部分,感谢您的理解与支持。

或者直接点击以下链接:


五、设计目标


鉴于实时音视频技术的高门槛,RainbowAV技术从设计开始就希望能简化集成和使用,因而是以独立工程的方式进行迭代和演进,并不会与RainbowChat这样的IM发生代码耦合性,从而方便开发者自行改进甚至2次开发。

小结一下,RainbowAV的设计目标是为您提供以下能力:

  • 1)与IM工程的解耦:独立工程,方便迭代和演进,甚至2次开发;
  • 2)服务端部署便利:服务端编译成了清爽的可执行程序,3行指令即完成部署;
  • 3)单实例拆分部署:共编译成3个程序,均可独立部署,互相无依赖,进一步提升单实例性能;
  • 4)多实例分布式部署:鉴于实时音视频聊天的特殊性(只在聊天时才需要连接音视频服务器),多实例分布式部署变的简单;
  • 5)服务端的高性能:得益于Linux epoll异步编程模型,服务端拥有极高的并发处理性能。
  • 6)手机端高兼容性:受益于大量的兼容性测试,甚至在Android 2.3上仍可很好地工作,代码表现健壮;
  • 7)手机低资源占用:Android客户端经过大量优化,资源占用低;
  • 8)高压缩低码率:经过编码压缩后的音视频数据,只需很少的流量;
  • 9)P2P通信支持:尽可能降低服务端性能和带宽压力;
  • 10)弱网络的支持:降低弱网络高延迟环境带来的通信脆弱性,保证应用层的稳定运行。

有关性能指标的详细测试情况,请见《移动端实时音视频框架:RainbowAV的性能测试报告》。

六、框架组成


整个RainbowAV工程暂时由以下2部分组成:

  • 1)Android客户端SDK:开发者可基于此开发您自已的实时音视频聊天功能、实时语音电话功能等;
  • 2)高性能服务器程序:用于客户端网络状态上报、P2P协助打通、实时音视频数据转发、实时视频数据转发等,支持高性能和高并发。

七、性能指标


客户端性能指标总结:

  • 1)客户端运行稳定后,内存占用约13M左右(以MOTO G XT1077手机为例);
  • 2)实时音视频(视频+语音)时,CPU占用约17%(手机QQ的约为20%、微信的约为19%);
  • 3)实时语音(仅语音)时,CPU占用约11%(手机QQ的约为12%、微信的约为5%);
  • 4)实时音视频(视频+语音)时上下行总流量约30KB/S手机QQ和微信的均约60KB/S);
  • 5)实时语音(仅语音)时上下行总流量约9KB/S手机QQ的约14KB/S、微信的约6KB/S).

服务端性能指标总结:
RainbowAV服务端基于Linux epoll(大名鼎鼎的Ngnix的高性能正是以此为基础),理论设计性能是:单机1000到10000人同时使用。鉴于实时音视频的复杂性(P2P、中转等混合发生),想要准确地测试统计非常困难。但鉴于实时音视频技术的高流量特性,通常单机瓶颈会首先出现在带宽上,所以生产部署时需要在单机性能和带宽分流上总体考虑。而也正是得益于实时音视频的特殊性,聊天时可同时部署多个服务端实例,只要引导该对聊天的用户同时连接同一台实例即可进行聊天,从而让分布式部署和负载均衡变的简单。

以上性能指标的详细测试情况,请见《移动端实时音视频框架:RainbowAV的性能测试报告》。

八、试用和体验


1RainbowAV独立测试体验版:


移动端实时音视频聊天框架:RainbowAV基本介绍_rbav.png
扫描2维码进入下载地址

2RainbowAV集成到RainbowChat后:


移动端实时音视频聊天框架:RainbowAV基本介绍_rbp.png
扫描2维码进入下载地址进入下载地址2
测试账号1:400088 密码:123456,测试账号2:400093 密码:123456。也可自行注册!

九、授权方式


1)授权方法:
完成付款后,你即可永久自由地使用RainbowAV(包括后绪永久免费提供升级版),无需单独授权,如:用于研究、学习、甚至商业用途。RainbowAV为著作权作品,未经作者授权不可对RainbowAV本身进行二次出售(但基于此进行的后续演进和开发成果由您自行独享),请尊重知识产权。

2)版本升级:
可永久免费获取最新版本,作者承诺在捐助者索取最新版本时,提供优先交付的保证。

3)获取授权书:
如您确实需要单独的正式授权书,请联系作者即可。授权书电子版(盖章有效)将发到您的指定邮箱,如还需寄送纸质授权书(盖章有效)则请补上邮费即可(快递收多少就是多少,无需多付)。

4)著作权证书:
移动端实时音视频聊天框架:RainbowAV基本介绍_av.jpg

补充说明:如需获得更多技术支持或技术合作请联系作者,QQ:413980957。

十、联系方式



移动端实时音视频聊天框架:RainbowAV基本介绍_author2023-2.png

十一、运行截图


1)RainbowAV独立体验版的运行效果:
移动端实时音视频聊天框架:RainbowAV基本介绍_rbav_alone.jpg

移动端实时音视频聊天框架:RainbowAV基本介绍_WechatIMG543_看图王.jpg

2)RainbowAV集成到RainbowChat聊天软件后的实时语音功能运行效果:RainbowChat介绍RainbowChat截图


3)RainbowAV集成到RainbowChat聊天软件后的实时视频功能运行效果:RainbowChat介绍RainbowChat截图

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

推荐方案
评论 122
不错,好资料
引用:frfr46467979 发表于 2022-10-12 16:38
公司项目有一套即时通讯的项目用的腾讯云。可以接入这个音视频吗

移动端用的
引用:frfr46467979 发表于 2022-10-12 16:39
服务端不支持web端接入吗?

这是移动端,跟web无关
引用:JackJiang 发表于 2018-10-25 12:37
暂时只有移动端,没有web端呢,抱歉。

服务端不支持web端接入吗?
引用:JackJiang 发表于 2022-10-12 16:35
音视频是独立的,不存在跟MobileIMSDK的绑定

公司项目有一套即时通讯的项目用的腾讯云。可以接入这个音视频吗
引用:frfr46467979 发表于 2022-10-12 16:11
这个音视频必须和mobileSdk一起使用吗?我如果使用的腾讯云或其他云可以使用这个音视频吗

音视频是独立的,不存在跟MobileIMSDK的绑定
这个音视频必须和mobileSdk一起使用吗?我如果使用的腾讯云或其他云可以使用这个音视频吗
v2.2.5版已发布!
引用:frfr46467979 发表于 2022-07-21 16:38
请问有uniapp端的源码吗

暂时没有呢
请问有uniapp端的源码吗
给力!
签名: 今天很666
引用:lijianmin 发表于 2022-01-13 20:25
PC端,web端, 移动端,连在一起的音视频解决方案有没有?

我这边是移动端的,暂时没有web端。而且我这边的音视频目前都是自主开发的,不同的端都需要大量时间去磨,不是你看到的很多产品那样用WebRTC开源的那些凑出来的。
暂时手上任务多,而且考虑到现在普遍的h5、小程序、uniapp这些的多端,我这边还需要整体考虑一下最佳的整合方案,否则单独的哪个端也还是有限制。
有这方面的需求,目前这种需求比较多
PC端,web端, 移动端,连在一起的音视频解决方案有没有?
厉害
学到了
楼主了解freeswitch吗?你那边实时自主研发的音视频跟freeswitch有啥优势?
引用:wangshuo3545 发表于 2020-11-17 16:28
我看网上有用java做服务端的,还好没买

有可能只是做着练手的。音视频这种东西,很多东西都是好多年的积累,基本上都是c c++系的
引用:JackJiang 发表于 2017-10-14 11:01
实时音视频这种高性能服务端,C++是必须的,用java那就有点忽悠了

我看网上有用java做服务端的,还好没买
引用:JackJiang 发表于 2020-10-15 22:35
你的这种单工模式,我认为没有必要做成实时的,就直接录好上传服务端,并同时发送指令通知给收听人,收听 ...

1、公网对讲机对实时性要求不低,实时性不高的话,产品市场竞争力没有优势;
2、客户多的话,走服务器转发模式的话,对服务器资源特别是带宽要求高(服务器是公司自己运营的),所以找有没有合适的网络穿透解决方案,webrtc太重了
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部