前几周我们发布的语音连麦demo受到了很多开发者的喜欢,同时留言希望我们再介绍一下有关视频集成的流程,所以这篇文章以我们开源的视频通话demo-ARCall
为参照进行示范讲解。

1. ARCall 简介

ARCall 是anyRTC自主研发的实时音视频沟通的示例项目,演示了如何通过 anyRTC云服务,并配合 anyRTC RTC SDK、anyRTC RTM SDK,快速实现呼叫邀请通话的场景。

目前支持:

  • 一对一视频呼叫。
  • 多人视频群聊
  • 一对一音频呼叫。
  • 多人音频群聊
  • 自采集:自采集功能的加入,支持屏幕共享、美颜、美声等前处理功能。
  • 自渲染:对安全比较高的,可采用自渲染功能,对音视频数据进行自定义加密。
  • 大小流:当会话人数比较多的时候,开启大小流,当小屏显示用户视频的时候,使用小流节省本地带宽,当大屏显示用户适配的时候,拉去大流进行高清显示,大小流可无缝切换。
  • 插入媒体流:当会话当中,使用插入媒体流可进行同时看电视节目(RTMP流),可以看监控进行协同处理事务(RTSP流)。
  • 播放音乐音效:当通话过程中,可以播放本地或在线音乐。
  • 上下行网络质量:通话质量实时回调,显示本地以及对方的通话质量,可以进行友好提醒。
  • 说话音量提醒:音量大小实时回调,可知晓频道中正在说话的用户,适合大频道多人音视频场景。
  • 50人上麦:一个频道最大支持50人同时上麦,观看人数不限制。

2. 核心功能介绍

视频通话最重要的一步就是进行呼叫邀请,这是是运行所有功能的前提条件,市面上运用呼叫邀请音视频通话的场景很多,下面简单介绍一下:

  • 陌生人交友,需要呼叫邀请通话,进行音视频通信。
  • 门铃系统,需要呼叫邀请房主,让房主应答。
  • 在线医疗,在线咨询,帮助患者快速、高效的解答救助事宜。
  • 智能调度,安保系统智能调度人员。

如何实现呼叫邀请

呼叫邀请的场景既然这么多,那市面上的这种场景是怎么做的呢?下面我们就来分析一下吧。

  • 利用市面上现有的IM SDK
    ,一般这种SDK都会有一套现有的逻辑帮助开发者去实现呼叫邀请的逻辑。但不好的一点是这种SDK非常笨重,包体积大,好多还自带UI,灵活性差。
  • 使用Socket 自行组织呼叫邀请逻辑,但是这种开发难度大,工期时间长,而且对应大并发、高可用显得力不从心。
  • 利用anyRTC 实时消息SDK,该SDK对呼叫邀请特别友好,包体积小,而且很轻便,调用几个API接口就把呼叫邀请的逻辑给搞定了。

RTM 实时消息组织呼叫邀请的逻辑分析

呼叫邀请的行为

  • 主叫发送呼叫邀请;
  • 主叫取消呼叫邀请;
  • 被叫接受收到的呼叫邀请;
  • 被叫拒绝收到的呼叫邀请;

API 时序图

取消已发送呼叫邀请

接受/拒绝呼叫邀请

呼叫当中异常处理流程

呼叫邀请发出后,调用subscribePeersOnlineStatus方法进行订阅对方的在线状态,根据peersOnlineStatusChanged回调信息来判断对方是否在线。被呼叫者做相同的操作,收到呼叫邀请,调用subscribePeersOnlineStatus方法进行订阅对方的在线状态,根据peersOnlineStatusChanged回调信息来判断对方在线情况与否。直到呼叫挂断后,都取消订阅对方的状态。

呼叫当中的推送对接

anyRTC RTM SDK中没有嵌入推送服务,需要客户自己去做推送服务,下面介绍一下客户端如何集成推送功能。

呼叫之前,订阅对方的状态,如果对方不在线,使用第三方推送服务,进行呼叫,然后发送sendLocalInvitation邀请,本地进入等待画面。

case1: 对方没有答应 发出邀请后,如果对方不应答,会在30s给予回到localInvitationFailure邀请失败回调,收到该回调后提示对方无应答。

case2: 对方有收到邀请 发出邀请后,被呼叫方收到推送消息,进行本地响铃,点击进入程序,登录RTM SDK,此时会收到remoteInvitationReceived的回调,弹出应答页面,进行相应的应答,呼叫方此刻也会收到localInvitationReceivedByPeer的回调,进行60s倒计时,如果60s后还未做出答复回应,取消呼叫请求,关闭页面。

客户端集成推送服务

极光、信鸽、个推、友盟,用户可以根据自己的情况调研集成。

RTC音视频通话

当呼叫连接建立后,双方协商好进入相同的频道号即可通信。

3. ARCall demo下载

用户可以直接扫码下载ARCall进行体验。


GitHub地址:https://github.com/anyRTC-UseCase/ARCall

4. 应用场景介绍

下面为各位开发者介绍一下ARcall可以应用在现实中的哪些工作场景;

1、企业的内部通讯

同事与同事之间的单对单沟通,简单快捷。有时候需要很多人同事开会的时候但是大家都不在公司这样就可以选择多人语音或者多人视频来进行网络会议。这样不仅仅节省了等人的时间,还提升了沟通的效率。真正的做到了远距离沟通。

2、在线医疗

相信大家对于在线教育已经不陌生了,现在在线医疗也是在非常快速的的发展中,在线医疗可以缩短医生与患者之间的距离,省去去医院路上的时间,挂号的时间,提升医生的工作效率。就拿这次疫情来说,如果发现身体不是很舒服,但是去医院又不是很安全这时候选择和医生线上沟通是最安全省力方式,同样如果家中有老人的话,也是选择线上医疗是最方便的,因为老人相对来说去医院不是很方便,选择线上的话就节省了路程时间和挂号时间。

3、在线客服

相信大家都去银行办理过各种业务,银行要求的一定是本人要到现场才行的。但是有时候因为人在外地,或者工作比较忙没有办法抽出时间去银行办理业务,这时候在线客服的重要性就体现出来了,客服这边可以和用户约定好时间然后进行视频通话,这样一来银行可以判断是否为本人来办理业务,二来可以省去用户的交通时间,可以说是一举两得。

4、陌生人交友

随着互联网行业的发展各种各样的音视频聊天软件层出不穷,其实归根结底都是语音和视频通话。而ARCall适用于在线陪聊、心理疏导、狼人杀、在线K歌等多种场景。

5、智能终端

智能终端可应用于小区物业管理,智能手表、眼镜,无人机等设备上,通过音视频传输高效解锁,拨通电话等进行实时音视频通话。点对点的音视频通讯,可对智能终端实现自我控制、远程控制、好友管理、及影像等功能,可以远程遥控进行布防或者撤防,并记录下全过程。智能终端将极大地改变人们未来的生活图景,为我们的工作效率、生活便利性带来了极大的提升,成为我们生活中不可或缺的一部分。

6、一对一小班课

学校内部局域网沟通;视频家访;一对一教学;轻松实现跨区域交流互动。一对一在线教育模式也是具个性化的,可以全方面把控教学过程。一对一在线教育因材施教,全方位为学生制定学习计划,从而更具针对学生的特质并对症下药。更重视学习方法,为学生营造了一种全新的学习氛围,通过相互感染,使学生在学习过程中产生学习的动力和强烈的学习意识,让学生更加关注学习。

7、视频面试

因为疫情的影响,视频面试已经成为一种面试洽谈的安全、可靠、快捷的方法之一了,可创建一个纯净的一对一音视频对话的环境。用人单位与求职者足不出户利用连通了互联网的电脑,通过视频摄像头和耳麦进语音、视频、文字的方式进行即时沟通交流的招聘和面试。这种面试方式可以极大地节省面试双方的时间和费用,并且提高面试工作的效率。视频面试可以轻易地延伸到世界的每一个角落。无论求职者在哪个地方或哪个国家通过视频就可以快速双方进行沟通。视频招聘是一个跨时空的互动过程,对供求双方而言都是主动行为。这种积极的互动,减少了在招聘过程中的盲目行为。

5. ARCall的优势

anyRTC是一个服务于互联网音视频领域的品牌,致力于给用户带来流畅的视听效果。音视频呼叫Demo—ARCall,结合了实时消息RTM与音视频SDK,快速实现一对一及多人呼叫接通服务,仅需用手机打开对应APP,或PC端打开链接拨号即可接通,可实现多平台互通。

ARCall虽然看起来只是一个音视频通话的软件,但是生活中与你相关的很多场景都是和ARCall有联系的,所以你可以大胆的发散你的思维,把它应用在日常的工作生活中。

6. 跨平台视频通话

跨平台开发一直都是这几年最重要的技术趋势之一。跨平台的框架每年都在更新,但是热度却从未降低。采用跨平台开发技术让软件开发者几乎可以用同一套代码就为不同平台构建应用程序,节省了时间、人力,以及不必要的工作。anyRTC新增了uni-app移动端插件和Flutter移动端插件,保证了跨平台也可以实现实时的音视频通话。

  • uni-app移动端插件

anyRTC uni-app移动端插件目前适配了RTC和RTM SDK。uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。因为扩展能力强,学习成本低,所以深受开发者们的喜爱。

uni-app 跨平台SDK应用场景非常广泛,比如在在线教育、在线金融、智能终端、移动执法和交通物流方面都有良好的应用。

anyRTC uni-app RTC SDK 集成指引及示例DEMO

参考地址:https://github.com/anyRTC/uni-app-SDK

anyRTC uni-app RTM SDK 集成指引及示例DEMO

参考地址:https://github.com/anyRTC/uni-app-rtm

  • Flutter移动端插件

anyRTC Flutter移动端插件目前适配了RTC和RTM SDK,开发者基于anyRTC Flutter SDK可以简单高效的实现跨平台音视频和实时消息功能。

Flutter是Google一个新的用于构建跨平台的手机App的SDK。写一份代码,在Android 和iOS平台上都可以运行。Flutter的优势是具备快速开发、富有表现力和灵活的UI、以及原生性能。

anyRTC Flutter SDK 集成指引及示例DEMO

参考地址:https://github.com/anyRTC/Flutter-SDK

anyRTC考虑到了用户的应用创建了实时消息Flutter-RTM

参考地址:https://github.com/anyRTC/Flutter-RTM

到目前为止anyRTC全平台覆盖,支持Windows、macOS、Android,iOS、Web、小程序等多平台覆盖、支持Flutter、APICloud、uni-app、Electron跨平台开发。

场景demo落地 - 视频通话产品 2.0 ARCall相关推荐

  1. H.265在QRTC场景的落地运用

    点击上方"LiveVideoStack"关注我们 近年来,伴随着采集渲染设备终端发展,人们对视频质量的需求也在日益"膨胀",更高的分辨率:4k/8k,更宽泛的亮 ...

  2. 腾讯大咖分享 | 腾讯Alluxio(DOP)在金融场景的落地与优化实践

    目录 Alluxio导读 背景 大数据olap分析面临的挑战 Alluxio:一种可能更优的方案 新的挑战 最终架构 线上运行效果 优化调优实践 总结展望 Alluxio导读 近期,腾讯 Alluxi ...

  3. 复盘:一款产品从0到1的全过程

    从一个想法到最终看到一个产品"长"出来, 需要产品经理有过硬的基本功和良好的商业感觉,同时也要有强大的协作领导能力,使团队形成统一的合力才可能最终实现. 从0到1做一个产品,从来都 ...

  4. 新产品孕育记:PM如何把一款产品从0带到1

    背景介绍: 这篇文章呢,是我6月份写的,在负责的产品上线之后,写的反思总结.我想,这个过程,对于中小创公司的产品经理来说会有一定的借鉴意义,因为中小创公司并不像大公司那样把岗位分的非常细,产品经理经常 ...

  5. 优酷APP响应式布局在消费场景的落地之Android篇

    作者 | 阿里巴巴文娱技术 吉欧 头图 |  CSDN 下载自东方IC 背景 随着时代的发展,硬件设备的类型也是百花齐放,出现了各种各样的大屏设备(pad.折叠屏.车机)及屏幕模式(多屏.分屏),所以 ...

  6. 直击标贝科技WAIC2019:深耕语音合成与数据服务 助力语音场景完美落地

    8月29日,WAIC2019世界人工智能大会于上海世博中心&上海世博展览馆举办.本届大会以"智联世界 无限可能"为主题,以"高端化.国际化.专业化.市场化.智能化 ...

  7. 一个产品从0到1的完整流程

    文章目录 什么是需求 需求定义 满足需求的三种方式 需求的核心 需求收集 需求来源 内部 外部 需求收集步骤 需求分析与管理 需求分析 什么是需求分析 如何挖掘用户真实需求 需求管理 需求优先级 需求 ...

  8. 产品从0~1第一步——市场分析

    市场分析 市场分析是对市场规模.位置.性质.特点.市场容量及吸引范围等调查资料进行的经济分析. 对于产品经理来说,市场分析的目的是分析环境.竞品.用户,从中寻找和研究潜在需求,然后帮助产品经理更好的构 ...

  9. WOT讲师杨钊:人工智能将在不同应用场景逐步落地

    [51CTO.com原创稿件]由51CTO主办的WOTA2017全球创新技术峰会将于2017年7月21日拉开帷幕.本次峰会,将围绕机器学习.人机交互和智+应用三个大主题展开,数十位专家级嘉宾将带来多场 ...

最新文章

  1. 一场库文件的远程修复
  2. 集合框架知识系列05 HashMap的源码分析和使用示例
  3. Java的最大优势还是跨平台么?
  4. matlab 图像函数以及运用(第十章)
  5. 手把手教你发布一个Python包
  6. zabbix_server 报警
  7. springboot(七) 配置嵌入式Servlet容器
  8. Cortex-M3基础
  9. 【20190226】JavaScript-知识点记录:dom0级事件,dom2级事件
  10. .net的轻量级ORM -- PetaPoco/NPOCO框架使用说明
  11. 软件构造学习笔记-第十三周
  12. 软件构建中的设计(一)
  13. 每天2小时,吃透 985博士总结的这份目标检测、卷积神经网络和OpenCV学习资料笔记(20G高清/PPT/代码)...
  14. (转)区别不同浏览器,CSS hack写法
  15. nodejs+express- http 访问本地json数据
  16. opencv 4.5.2 使用比色卡进行颜色校正
  17. 2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
  18. 结构方程模型(SEM)理论篇 (SEM 1)
  19. 3D目标检测-二阶段方法(region proposal-based Methods)之基于语义分割的方法(Segmentation based)解读
  20. 2022年最新餐饮外卖行业市场研报合集(共45份)

热门文章

  1. 关于汽车行业生产仿真(物流仿真)的必要性论述
  2. P4 类,对象,类成员简介
  3. java并发编程实战wwj----------第三阶段-------------ConcurrentHashMap----------------73
  4. 用Kbuilder制作卡拉OK教程
  5. 计算机二级考试vb内容,全国计算机二级VB考试内容
  6. Linux命令之管道
  7. 医院wifi解决方案怎么样
  8. 易驾佳智能机器人教练_用RoboCoach代替驾校教练 易驾佳欲用AI技术改变驾培
  9. 2020应届毕业生,Android春招总结,已入职小米,进阶加薪全靠它
  10. 小米2022春招内推