开源实时音视频技术WebRTC的文章,重新设计的 API在 v3 中我们改进的重点是 SDK

摘要作为Google开源的技术,WebRTC并不是一个可以拿来就用并且性能很好的产品,而且正如众多的其它开源技术一样,WebRTC的发展并没有期待中的快。前言随着移动互联网和智能硬件的快速发展,音视频技术从独立应用普及到了嵌入式应用中,不管是智能硬件、手机应用或是Web程序中的许多模块都越来越依赖于音视频技术。2011年Google将WebRTC项目开源,让许多开发者眼前一亮,忍不住的加入了研究WebRTC的队伍中。他们大多数都认为WebRTC是Google公司的开源项目,肯定是拿来就用,而且效果还能很不错,想着开发高大上的音视频功能由此会变得so
easy。但是!WebRTC的开发真的是Google送到嘴边的免费午餐吗?下面来介绍一下WebRTC自身发展的现状,以及目前开发WebRTC的现状。目前的进展WebRTC在被Google开源之前,其价值就已经得到了充分的认可,比如QQ就使用了WebRTC的部分技术。WebRTC的发展情况可以从标准规范和浏览器支持这两个方面看。WebRTC标准是由W3C和IETF所联合制定的,在2016年1月28日,W3C公布了最新的WebRTC标准,标准中定义了WebIDL中一系列的ECMAScript
API来允许使用合适的RTP的浏览器或设备来接收/发送媒体,详细内容可以访问
Chrome浏览器、Firefox浏览器和Opera 20浏览器,但是IE浏览器及Apple
Safari浏览器还未支持WebRTC技术。对于开发者而言,WebRTC仍旧高不可攀登WebRTC的开发现状其实并不像大多数人所想象的那么简单,人们普遍的认为WebRTC的代码是开源的所以花很少的时间就能将其集成到项目中去,并且Google这么大的公司的产品质量一定没问题。但是在项目进行中,大家都会发现,WebRTC并不是一块Google白送到面前的肉。首先,编译WebRTC的源码就是一个比较大的挑战,搭建其复杂的编译环境往往会遇到很多意想不到的问题,导致当初计划用几个星期的时间来搞定项目,却发现这几个星期连编译都没搞定。还有,WebRTC中很多的参数都是由GIPS公司的工程师们依靠经验所设定的值,这就会出现卡顿、延时、回声、丢包、多人视频不稳定等问题,并且由于公网的稳定性或机型适配等外在因素,以上问题在项目上线后会更加严重。总而言之,WebRTC虽然提供了一套音视频实时通讯的解决方案,但是在实际应用中,由于网络传输、设备适配以及多方通话上都存在很多问题,效果并不理想。可见WebRTC的开发并不像大部分人想象的那样容易。在自己开发WebRTC之外,目前在市场上有很多第三方的音视频SDK可供选择,比如声网、腾讯、Intel、天翼RTC、网易云信、环信、融云、anychat等等,虽然这么多厂商提供的服务都大同小异,但他们的技术架构可能完全不同,比如天翼RTC是WebRTC
SDK,腾讯是Native
SDK。给开发者的建议由于WebRTC的复杂性和尚未完善性,下面的这些建议结合自己的实际参考:1、音视频不是公司的核心方向,建议使用第三方SDK。2、项目时间紧,有多人视频场景,使用场景依赖于手机端,建议使用第三方SDK。3、公司没人音视频技术人才,建议使用第三方SDK或者技术外包。4、如果公司实力、财力、人力雄厚,时间也不紧急,可考虑WebRTC集成开发,虽然会有很多坑,但总是能填平的。5、如果音视频技术是公司的核心方向,但不想花太多时间去研究WebRTC,可直接找熟悉WebRTC的人来培训。6、项目时间不紧急、没有多人视频需求且音视频质量要求不高,可考虑WebRTC集成开发。附录:更多实时音视频技术文章[1]
开源实时音视频技术WebRTC的文章:《开源实时音视频技术WebRTC的现状》《简述开源实时音视频技术WebRTC的优缺点》《访谈WebRTC标准之父:WebRTC的过去、现在和未来》《良心分享:WebRTC
零基础开发者教程(中文)[附件下载]》《WebRTC实时音视频技术的整体架构介绍》《新手入门:到底什么是WebRTC服务器,以及它是如何联接通话的?》《WebRTC实时音视频技术基础:基本架构和协议栈》《浅谈开发实时视频直播平台的技术要点》《[观点]
WebRTC应该选择H.264视频编码的四大理由》《基于开源WebRTC开发实时音视频靠谱吗?第3方SDK有哪些?》《开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用》《简述实时音视频聊天中端到端加密(E2EE)的工作原理》《实时通信RTC技术栈之:视频编解码》《开源实时音视频技术WebRTC在Windows下的简明编译教程》《网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?》>>更多同类文章
……[2]
实时音视频开发的其它精华资料:《专访微信视频技术负责人:微信实时视频聊天技术的演进》《即时通讯音视频开发(一):视频编解码之理论概述》《即时通讯音视频开发(二):视频编解码之数字视频介绍》《即时通讯音视频开发(三):视频编解码之编码基础》《即时通讯音视频开发(四):视频编解码之预测技术介绍》《即时通讯音视频开发(五):认识主流视频编码技术H.264》《即时通讯音视频开发(六):如何开始音频编解码技术的学习》《即时通讯音视频开发(七):音频基础及编码原理入门》《即时通讯音视频开发(八):常见的实时语音通讯编码标准》《即时通讯音视频开发(九):实时语音通讯的回音及回音消除概述》《即时通讯音视频开发(十):实时语音通讯的回音消除技术详解》《即时通讯音视频开发(十一):实时语音通讯丢包补偿技术详解》《即时通讯音视频开发(十二):多人实时音视频聊天架构探讨》《即时通讯音视频开发(十三):实时视频编码H.264的特点与优势》《即时通讯音视频开发(十四):实时音视频数据传输协议介绍》《即时通讯音视频开发(十五):聊聊P2P与实时音视频的应用情况》《即时通讯音视频开发(十六):移动端实时音视频开发的几个建议》《即时通讯音视频开发(十七):视频编码H.264、VP8的前世今生》《实时语音聊天中的音频处理与编码压缩技术简述》《网易视频云技术分享:音频处理与压缩技术快速入门》《学习RFC3550:RTP/RTCP实时传输协议基础知识》《基于RTMP数据传输协议的实时流媒体技术研究(论文全文)》《声网架构师谈实时音视频云的实现难点(视频采访)》《浅谈开发实时视频直播平台的技术要点》《还在靠“喂喂喂”测试实时语音通话质量?本文教你科学的评测方法!》《实现延迟低于500毫秒的1080P实时音视频直播的实践分享》《移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡》《如何用最简单的方法测试你的实时音视频方案》《技术揭秘:支持百万级粉丝互动的Facebook实时视频直播》《简述实时音视频聊天中端到端加密(E2EE)的工作原理》《移动端实时音视频直播技术详解(一):开篇》《移动端实时音视频直播技术详解(二):采集》《移动端实时音视频直播技术详解(三):处理》《移动端实时音视频直播技术详解(四):编码和封装》《移动端实时音视频直播技术详解(五):推流和传输》《移动端实时音视频直播技术详解(六):延迟优化》《理论联系实际:实现一个简单地基于HTML5的实时视频直播》《IM实时音视频聊天时的回声消除技术详解》《浅谈实时音视频直播中直接影响用户体验的几项关键技术指标》

摘要即时通讯云 LeanCloud 下一代 JavaScript 即时通讯 SDK 的 3.0 beta
版本发布了!以下为来自即时通讯云 LeanCloud官方的消息:今天我们高兴地宣布
LeanCloud 下一代 JavaScript 实时通讯 SDK 的 3.0 beta
版本发布了!我们不仅为这一新版本(以下简称
v3)带来了性能提升,还加入了很多令人激动的新功能和改进,包括单点登录、未读消息通知、按条件查询对话、自动更新的对话和消息状态、自定义消息类型、更好的断线重连机制,以及重新设计的
API 等等。重新设计的 API在 v3 中我们改进的重点是 SDK
的易用性,为此我们设计了全新的
API。除了一些细小的命名与特性的区别,JavaScript SDK v3 的 API 与其他平台
SDK 的 API
已经统一。随着平台差异性的减少,开发者在为各平台应用设计与实现阶段所投入的工作量也会降低。相较于
v2,v3 API
对易用性的改进体现在以下几个方面:自动更新的对话和消息状态Promise
与异常处理新的事件模型可扩展的消息类型系统自动更新的状态v2
中封装了各种操作指令与事件,但是在真实的项目中,你仍然需要额外维护一些状态,这些状态包括了:对话:成员列表、未读消息数、最后消息时间、最后消息(如果有)消息:发送状态v3
中这些状态都会由 SDK
自动更新。这将大大简化业务逻辑的代码,比如当你使用类 MV*
框架时,你可以直接将这些实例与 View 层绑定,就像下面这个使用 Angular
展示消息列表的例子一样:<ul class=”list-group”> <li
class=”list-group-item” ng-repeat=”conversation in conversations”>
<span class=”badge”>{{conversation.unreadMessagesCount}}Live
demo:
与异常处理所有的异步 API 将返回 Promise 实例。相比于 v2
中回调的方式,Promise 将会避免回调嵌套过深的问题,同时解决了 v2
异步操作异常被 SDK 隐藏的问题。// 使用 Promise
以链式方法登录、创建会话、发送消息realtime
.createIMClient(‘three-bodies’) .then(tom => tom.createConversation({
member: [‘the-earth’] })) .then(conversation =>
conversation.send(new TextMessage(‘不要回答!’)) .then(message => {
/* 成功 */ }) .catch(error => { /* 处理异常 */ });新的事件模型v3
中的事件 API 使用的依然是 Node.js 中EventEmitter的设计。与 v2
中所有事件都在RealtimeObject上派发不同,v3
中不同类型的事件会在不同的层面派发:网络状态相关的事件在Realtime实例上派发。某个客户端相关的事件在该IMClient实例上派发。某个对话相关的事件在该Conversation实例上派发,同时也会在其隶属的IMClient实例上派发。详细的事件列表与描述,请参阅API
文档的 Events
部分。可扩展的消息类型系统自定义一个消息类型从来没有像现在这么简单:@AV.messageType(3)@AV.messageField(‘foo’)class
CustomMessage extends AV.TypedMessage { constructor(foo) { super();
this.foo = foo; }}Live
demo:
TypeScript 或者 Babel 才能运行。这里还有个ES5 的例子。同时,基于
LeanCloud 存储服务,SDK
还提供了常见的富媒体消息类型(文件、图片、视频、音频、位置)。为了避免实时通讯
SDK 与存储 SDK 的耦合,这些富媒体消息类型是一个独立发布的
package,关于富媒体消息的详细内容请参阅《JavaScript 实时通信开发指南 –
富媒体消息》。新增功能JavaScript 的 API 与其他平台 SDK 的 API
的统一意味着以下功能已得到支持:单点登录「未读消息通知」模式对话条件查询构造器(ConversationQuery)断线重连机制SDK
的连接层也被重新设计,断线重连机制变得更加可靠,存在于 v2 中的 crash
与漏报已被消除。除了disconnect与reconnect,v3
中增加了两个新事件schedule与retry,通过它们你就可以了解到 SDK
在断线重连的过程中正在做什么,进而向用户给出更友好的提示。关于断线重连机制的细节请参阅《JavaScript
实时通信开发指南 – 网络状态响应》。性能提升v3
还包含了一些底层上的改进:二进制协议 ProtoBuf
的引入使传输消息时的流量消耗减少了 70%。多个 Client
实例共享一个长连接的措施减少了 SDK 消耗的资源。从 v2 升级v3 API 不兼容
v2。对于正在使用 v2 的用户,尽管 v2 中所有的 API 在 v3
中有对应的实现(参见《JavaScript 实时通信 SDK v3
迁移指南》),我们仍然需要提醒,迁移到 v3
意味着一定的迁移成本。此外,必须指出的是,v3 去掉了对 IE10
及以前版本的支持,如果需要兼容这部分运行环境,请继续使用 v2。在 v3
正式发布后,v2 依然会得到至少 6
个月的安全更新。LeanCloud官网

摘要即时通讯云供应商环信,亮相第十四届软交会,摘取“2016中国最佳SaaS产品奖”。前言被誉为国内软件业第一展,为期四天的2016中国国际软件和信息服务交易会于6月19日在大连落下帷幕。随着“互联网+”与各行业的深度融合,软件和信息服务行业将发挥更加重要的作用。作为企业级服务的明星垂直领域,SaaS客服也成为此次大会关注的焦点。本届软交会共吸引60多个国家和地区的743家企业、1.5万名业内人士和3.6万名观众参会。环信荣膺“2016中国最佳SaaS产品奖”“企业服务创新论坛”是一年一度的软交会的重点组成部分,前面已成功举办三届。在第十四届大连软交会“2016企业服务创新论坛”上,企业家们齐聚一堂共同探讨中国企业级服务的未来。同时,2016企业服务创新论坛金i奖颁奖盛典揭晓,环信作为中国企业级服务明星企业一举摘取“2016中国最佳SaaS产品奖”。评委们给了环信企业级服务里的最高评价:“当企业级SaaS服务如雨后春笋般涌现,我们在百花齐放的景象中能找到如此坚实沉静一朵,绽放自身的光彩。作为SaaS客服软件行业唯一一家同时拥有PaaS和SaaS产品的公司,环信以此建立其强大的壁垒;不急不缓,水到渠成,它们为中国企业提供着最高效可靠的SaaS服务。”环信副总裁发表主题演讲《客户服务的智能时代》环信副总裁程旭文在论坛做主题演讲诠释了在“互联网+”时代智能SaaS客服的重要性。程旭文认为,互联网+时代的用户获客成本非常高,例如电商行业获取一个新用户成本是维护一个老用户的三倍到十倍。如何能让一个用户长期留在我们的产品和服务上?而且客户的渠道来源多种多样,解决这些问题非常重要。环信移动客服全媒体接入可以实现多渠道的用户来源一键管理一键回复。客户服务是有温度的,温度的高低同时决定了服务的满意度,环信移动客服可以实现对客户的交互进行情感分析,基于大数据技术的环信客户声音可以极大提升留存和转化从而实现精细化运营。随着人口红利消失,人工成本上升,企业客服面临的“用工荒”将持续扩大,运营成本将越来越高。环信利用智能机器人技术实现精准高效自动推送,自动问答,可以帮助客户解答80%的常见问题,极大提升效率降低成本,而环信首推的“人工+智能机器人”的协作服务被证明是现阶段最适合的客户服务方式。本届软交会以“数据·共享,智慧·创新”为主题,企业级服务应以构建生态圈的创新能力为本,以客户为中心迭代,最终演变为“连接创新改变生意”,环信即时通讯云就是这样一根连接“人与人”的管道。资源共享整合,以开放的态度,方能合作共赢。大数据是另一种连接,是海量的、相关或非相关的数据的连接,连接创造价值,并且数据的价值因连接的广度和共享而产生质变。环信移动客服基于大数据研发的创新产品“客户声音”,通过热点话题分析发现新畅销商品,通过情感度分析发现服务问题,帮助企业实现广度客户的连接从而创造更大价值。关于环信移动客服环信移动客服致力于连接“人与商业”,作为全媒体智能云客服倡领者,支持全媒体接入,包括网页在线客服、社交媒体客服(微博、微信)、移动端客服和呼叫中心等多种渠道。基于业界领先的IM长连接技术保证消息必达,不丢消息不丢单,并通过强大的智能机器人技术极大降低人工客服工作量。截至2015年底,环信移动客服共服务了12000家企业用户,现已覆盖包括电商、O2O、互联网金融、在线教育、在线旅游、移动医疗、智能硬件、游戏等20大领域的Top10客户,典型用户包括国美在线、58到家、楚楚街、随手记、海尔、51talk,链家自如客、神州专车等众多互联网和传统企业。根据易观国际发布的《中国SaaS客服市场专题研究报告2015》显示:截至2015年第三季度,环信移动客服在SaaS移动端客服用户覆盖占比为77.4%,以绝对优势稳居行业第一。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图