七牛云徐晶:基于 WebRTC 架构的直播课堂实践

8 月 18 日下午,在七牛云架构师实践日第三十期,七牛云教育行业产品研发总监徐晶进行了《基于 WebRTC 架构的直播课堂实践》为题的实战分享。
?

本文是对演讲内容的实录整理。?
?
作者简介:
?

?
七牛云教育行业产品研发总监,拥有 12 年互联网行业经验。擅长将传统行业与互联网结合,形成具有 Plus 效果的互联网产品。曾在阿里巴巴大文娱负责整个优酷直播业务,目前任职七牛云教育行业产品研发总监,构建互联网教育云计算模型,打造在线教育行业的云计算解决方案,突破传统教育壁垒。
?

流媒体协议与功能的演进

?
国际电信联盟做的分析,解释了流媒体协议的功能和演进。牵扯到教育、直播,说的简单点就是直播到今天已经不再是观看,直播在之前最重要的一个功能是让大家来观看,但是直播走到今天最重要的功能是互动,形成人与人之间的互动。
?
?
?
直播的体验最好在 200 毫秒以内。到 400 毫秒的时候,已经形成一个分界线,观众的体验已经有非常多的人觉得这是一个有问题的视频,我不想再听下去了。这也是未来教育行业要走下去的一个根本,也就是要缩短教师和学生之间的距离,减缓两者之间沟通的障碍。
?
大家有没有一个体验?前几天上海在刮台风,很多场景下的电视语言说「让我们来看一看台风登陆点的记者」,那时候你发现好多记者带着耳塞,过了两秒钟才说话「来,我们看一下身后的背景」,这个体验非常不好。如果有一天我们的直播技术做到 150 毫秒以内的延时,这样的场景不再会发生,体验度会越来越好。只有科技达到 150 毫秒才能慢慢走向教育,走向医疗这样非常需要互动的场景。
?
所以得出的结论是实时性的需求越来越高,超过 150 毫秒的单向传输已经开始影响用户体验。这里面有一个很重要的概念叫做用户体验,最典型的例子就是苹果。大家为什么那么喜欢用 iPhone?它的硬件配置并不比安卓好,但是用户体验上做得足够好。之前我问了很多人,为什么用 iPhone?很多女生说,用 iPhone 就是不卡顿。就是因为不卡顿,iPhone 在用户体验上下了非常大的功夫,在整个苹果的研发中心专门有一支团队是做用户体验的。
?
下面跟大家普及以下几个概念:
?
首先,IMS?是非常非常早的微软的一个流媒体协议,这是流媒体的鼻祖。在刚刚开始互联网流媒体的时候,大家都在用 IMS 协议,通过微软的Windows 构架去建立的。之后的 RTMP,整个流媒体行业最通用的一种协议,但是它有一个问题,用的是 TCP 的协议,会带来高延时。
?
接下来是?WebRTC,从去年到今年,越来越多的机构要做实时互动的流媒体机构,于是开始慢慢去走 WebRTC 的路。它是一个非常低延时的协议,能够让我跟你的距离甚至在 100 毫秒之内都可以去完成。纵观整个流媒体的演进,从点播云到直播云到最后的实时云,我们认为在 150 毫秒下,就可以把它叫做实时云。
?
我们现在用的最多的是 RTMP,基于?TCP。为什么 TCP 协议本身是安全协议,却需要做很多工作,导致并不是那么高效的传输:
?
第一,有三次握手。A 点和 B 点联系需要建立通信握手关系。
?
第二,还会丢包。我这个数据传到 B 点发现网络抖动丢包,需要再传。
?
第三,流量控制。导致整个 TCP 协议不能完全被使用实时云这样一个概念。
?
相对来说,UDP?协议非常高效快捷,但是也有很多问题:
?
第一,安全性。大家知道 UDP 是不安全的行为,不会自动重传,对于视频流媒体来说是完全不能被接受的,我的画面传到 B 点结果由于网络原因丢包了。
?
第二,UDP 对网络条件非常苛刻。做过互联网的朋友都知道,TS 流在网络环境非常优秀的环境当中才会去使用。既然 TCP 有这样的问题,UDP 也有很多的问题,怎么解决实时通信,同时保证质量、成本、延时。很多人包括 Google 的科学家,阿里巴巴的高级解决方案专家都在研究这个三角关系。
?
UDP 带来最低延时,但是不能保证质量,TCP 质量最好,但是延时做得最差。这里面提出一个概念,Reliable UDP,让 UPD 变成安全靠谱的传送,场景化的重传。我从 A 点到 B 点的数据因为网络抖动可能有一些问题,没有传过去,对于 UDP 来说,标准的 UDP 不会去重复。在这个场景下,它会去分析,这个数据对于传送是不是最重要的。如果发现觉得非常重要的话,可以继续进行,如果非重要数据,像部分信息链丢失不会去重传,不会导致主要的业务丢失,这叫场景化的重传策略。
?
第三,带宽自适应的调整。UDP 对带宽要求很高,如果增加了带宽自适应,对于它来说是很靠谱的传送方式。还有很多的改进空间,人类永远在不断更新和迭代算法,更高效地去完善它。今天所讨论的基于 WebRTC 的场景就是一个 WebRTC。
?

基于 WebRTC 的直播课堂应用

?
下面介绍的是 WebRTC 在教育领域和教育场景下的一些直播课堂的应用。直播课堂到底是做什么?WebRTC 怎么样建立教师和学生之间的关系?尤其是中国的教育一直被国内外的人吐槽,但是说实话,也蕴藏了很多的机会。
?
中国教育产业整个的市场环境是,2017 年整个教育市场 1800 亿元人民币,但是排名前十的企业加起来总共一年的收入是 41 亿。也就意味着教育市场很大,大家都在建立学生和教师之间的关系,利用互联网把这块市场打开。
?
要做到教育必须解决低延时的线上环境,用传统的直播,从老师说到学生听再到学生说,两分钟过去了,感受是特别不好的。直播过程中的互动展示问题,这里提出一个问题白板,教师和学生之间如果光光是语音语言的沟通还不够。用语言解释不清楚的问题,拿在线白板画一张图,可能两分钟就搞明白了。在教育场景下,白板应对教育过程中的互动展示问题是非常非常重要的。进入教学的过程,很多人希望以后能更多的去消化,慢慢去品位,这个就是记录教学的过程和方式。
?
寻找线上高效的学习方法。很多孩子学习的时候常常觉得这是我爸妈让我学的,我不想学。如果这样的学习状态放进去,它会变成很不高效。如何让他们变成一个高效的学习?建立全程监督教学的环境。举刚才的例子,孩子父母花了很多钱,让他在线去学习钢琴,但是忽然发现孩子不愿意去学,这个时候如果有一个人去全程陪伴他,跟踪学习成果,那这也是有助于提升教学质量的一种方式。
?
最后,平台化的数据积累。复盘很重要,做教育产业其实会有很多的数据积累,对数据的分析、改善,在未来可以更好的帮助你的业务做准备。
?
?
?
WebRTC 主要的内核,是 Google 构架。当我们在研究教育的时候,要做四件事情:
?
第一,图传。很多领域都叫图传,后面的摄像机没有线的情况下有微波的实时图传。这里说的图传是老师和学生之间实时网络信号的传输,这里面包括两点:第一个低延时,第二个高精度。现在中国在线教育非常火,尤其是在资本市场很火,但是走在最前列的一些公司都已经开始研究高精度这件事情。比如哒哒有一些基础用户,现在非常想做一件事情,就是如何提升视频质量。现在在线教学用的大部分是摄像头,那个不足以让别人觉得你 Professional。他觉得这是一个工程的探头,而并不是有质量有品牌的东西,我是否可以有专门的摄像机,是否有 1080P 标准进来,甚至哒哒都在研究是否有 4K 的标准可以加进来,这种都是高精度的应用。
?
第二,互动。这个互动不是刚才说的人与人之间语音的互动,其实是指白板互动。这里面有一个很核心的问题,比如 10 个人,都要同一时刻看到某一个白板上的改变,就像在黑板上画一画,也许只有在座的人可以看到,但是如何让北京、纽约等地更多的人看到,并且很多的点同步,这是非常难的事情。关于讲义,市场上并没有很多人做得非常出色,在讲白板画画的时候,如果我讲 PPT,现场 PPT 无法看,这时候解决 PDF、PPT 转换成白板让各种用户可以看到,这就叫做互动。
?
第三,服务。之前我自己创过业,一直在提醒自己一个事情,现在这个社会上做实业挣不了多少钱,开店铺永远是在卖东西,什么东西最能几何倍挣钱?答案是服务。提供在线平台给你用,就叫服务;提供淘宝平台给你用,这就叫服务,它能挣钱。这个服务对于教育来说就是教育的监管能力和课堂分析,怎么让一个学生可以学习,怎么让家长能够监管,这些都是我们思考的问题。
?
第四,沉淀。大数据的沉淀。哒哒每天在线上的几千节课同时并发进行,每天几千课,沉淀下来的数据有多少?这些数据对未来哒哒改善自己的用户体验是否有帮助?这就是数据的魅力。现在有很多公司都在买这些数据,这些数据只有大量的积累才会得到。后续学习的方法经营也一样。
?
基于 WebRTC 的直播课堂·低延时图传
?
· 低延时双向建立高效连接
?
建立可靠 WebRTC 的方式,它代表低延时,低延时的建立双向高效连接。为了体验在线教育,我自己体验过哒哒、VIPKID,体验过十几家,发现有一个问题,都有一个职能叫做学生的顾问,会在直播开始前先打个电话给你,「兄弟,我来帮你弄一下你家的网络,你到底是用 PAD,还是 PC, 还是用什么?」搞一搞,半小时过去了。这个是不高效的连接。后面跟大家讲如何建立低延时高效的连接,我希望在线教育不会有提前 30 分钟建立连接这种不科学的事情。
?
· 协议决定了低延时 Level
?
我咨询过流媒体底层的专家,从他们的角度来看,怎样的方式是降低延时最可靠的方式。他这样回答:协议决定一切,决定了大的方向,UDP 到不了毫秒级,WebRTC 最差不会超过多少。其实在协议确定之后,你大的延时基调毫秒还是秒级别已经确定了,再下去优化的环节是物理网络。
?
· 物理网络的优化与改进
?
北京到上海,如果花高价买非常好的节点,10 毫秒。如果我是普通的网络,可能 50 毫秒。有人天天说北京有一个电信通,还有一个叫鹏博士,一直有问题,都是因为它的物理网络不是特别好。除了刚才的协议之外还要解决物理解决点,它的有效性并没有像协议来得那么直接那么大。
?
· 降低网络行为时间
?
现在有很多视频的传输前都会做一些行为,比如加密,比如回音消除,我发的声音有一些啸叫,降低啸叫,提升 A 和 B 点的低延时传输。
?
基于 WebRTC 的直播课堂·高清晰度流媒体
?
做一个非常专业的教育产业或机构你必须要往高清晰度上去靠。高清晰度跟几个因素有影响:
?
首先是源头的采样。采样也分成很多 level,今天的摄像机是索尼的 4K,最高能够采到 4K 的精度。第一,核心分辨率。我采样的分辨率是 4K 标准还是标清标准,对我的精度是非常重要的一个标准。第二,色位深。这是广电领域的标准,色位深可以认为它的指标略高,采集的图像质量略接近于无损。
?
其次是编码。编码分成编码效率,Encode Profile,有些人在 PPT 上转一个视频,你会发现为什么同样的电脑,我转出来特别慢,别人转的时候特别快,那些优酷、土豆视频网站分分钟就能转出来。转一个码可能操作里面的 level 步骤是一样的,其实这个转码里面的水非常深,即使你转相同的码率、相同的分辨率、相同的色位深,所产生的编码效率,所谓的 Profile 不一样,带来的时间和图像质量完全不一样。讲得简单点,大家知道 JPG 是一个图像文件格式,为什么网上的 JPG 有的几十 kb,有的拍一张照片 10 kb,是一个压缩。
?
然后是编码方式,HL4 也是个编码方式,视频使用的是 AV 几这样的编码,音频可能是 AAC 的编码方式。不同的编码方式,在相同的图像质量情况下,所带来的带宽节约度是不一样的。为什么大家最近非常热衷于 H265 和 AG1 这两种编码方式,所产生的文件大小和码率比 HL4 低 40% 到 50%,对于企业来说就是成本,这种叫做编码方式,对于整个图像的高精质量也非常重要。
?
码率也要结合分辨率、色位深来定。网上很多传 1080P 视频,码率只有 3 兆,根本没有 720P 的清晰,虽然精度很高,但是所花费的成本很低,带来的是图像质量一塌糊涂。这就是明明分辨率很高,画面却不清晰的原因。3Mbps 的 1080P 和1.8Mbps 的 720P 哪个画面更清晰?答案是 720P。大家去 Adobe 官网看过官方推荐的,对不同的分辨率有一个建议值,这个建议值 720P 推荐的码率 1.8M,1080P 推荐的是5.5M。1.8 虽然码率低,但是分辨率也低,只有 720P,所带来的图像质量其实把 720P 放大到 1080P 的屏幕上明显优于 3M 的码率,这也是在线教育会用低码率,但是相对来说比较低清的解决方案来解决画面清晰度的问题。
?
GOP,是切片最重要的值。GOP 代表的是两个关键轴之间真正通过算法去优化的空间到底有多少。现在很多硬件厂商在编解码的时候,在 GOP 上可以编为可操作,让你可以自由定义 GOP 值,来优化画面质量。
?
Encode Profile,不同的视频文件转码效率到底有多高,不同的 Profile 质量差异有哪些。CBR 和 VBR 的区别是:CBR 是固定码率,VBR 是动态码率,我可以根据图像的画面来动态调整我的码率空间,达到让图像更优的标准。我今天站在这里,如果摄像机对着我,我说话整个画面是不动的,这时候码率非常小,当我直播一个运动的场景,一个人在跑步的时候,画面永远在动,实时变成高码率的方法,这叫 VBR。
?
那么哪些场景用 CBR,哪些场景用 VBR 呢?
CBR 适合网络带宽是固定的,我可能家里只有 2 兆,我设定 1.8,但是 VBR 非常不适合,突然间变成 2.2,超过我家里的 2 兆带宽,一下子让我的视频有点卡顿,网络条件允许的情况下,VBR 消耗的带宽远远低于 CBR,对于整个码率图像质量实时分析。
?
基于 WebRTC 的直播课堂·教育白板
?
我们在做的白板,是直接在线化的。教室和学生或者更多人 1 对 4、1 对 6、1 对 8,这块动态白板,可以在上面用不同的笔进行画画,用不同颜色做标注,同时下面还有基础图形,可以对一些我想讲的重点圈出来。还有 PPT、PDF,这两个非常受到欢迎。当我有一些 PPT,有一些 PDF 需要分享的时候,我可以让它变成白板的一部分,让大家去做宣讲,让整个教学变得更加高效。我一直认为在教育这个场景下,白板起到的作用要远远高于视频起到的作用。视频起到的作用是,让我看到老师,看到他的形象大概是什么样,有一个面对面的感觉。但是白板是教育真正的核心,这是为什么每个学校里面黑板是必须的一样,白板相对教育这个场景下非常重要。
?
服务,合流服务。现在很多的空间,很多的互联网机构非常在意的三种模式:
第一,Mesh 模式。
第二,MCU 模式,所有传到中央服务器的模式。
第三,SFU 模式,中国绝大部分在线教育机构都在用的模式。它们所使用的带宽上下结构和灵活性。
?
服务端合流的作用:?
第一,让家长可以看到我孩子在上课,老师怎么样,学生怎么样,他们是否有非常大的匹配性。
第二,让我的在线教育平台,我的教务人员去评估教学质量。
第三,让更多山区的孩子看直播,原来上海复旦大学老师的人讲课,我听不到,在山区可以通过这样的方式去关注。
第四,可以进行录制,录制成本大大降低。
第五,分析数据来源。
?

智能 AI 在教育场景下的应用

?
· AI 有效辅助教学
?
曾经哒哒英语跟我聊了一个事情,他们做 K12,线上培训孩子发现一个问题,有一个孩子跟老师说,我爸让我来上课,但是我不想上。这个钱你拿着,这节课也 OK,我去打游戏了,你想做什么都可以。这种场景就发现这就是一个无效的课堂,在摄像头的两端根本没有人。为了杜绝这种情况,AI 的功能就凸显出来。只要拿一个 AI 识别这两个探头的范围内,如果超过一分钟没有人物在那儿的话,立刻报警,报教务平台,这是个无效的教学,这就是 AI 的辅助作用。
?
· AI 智能大班课签到及跟踪
?
这个适合大班课,今天有一百个人来上课,大家到前台的时候不用签到,直接人脸识别就可以上课了。另外一个场景,现在的高校学生都要恨死这个技术了,大家上大学的时候有过翘课的经历。老师在这儿讲了 10 分钟,有学生从后面溜走了,这种情况在大学里面有很多。现在一个探头会永远看着整个教室,教室里面有一百个学生,如果哪个学生溜出去了会自动报警,你想翘课根本没戏,这是 AI 的作用。AI 能识别这是张三在翘课。
?
· AI 教学互动率监测
?
老师跟学生在沟通,忽然发现这个学生没听,他的眼神是迷茫的。如果 AI 分析看到他的脸,会觉得这家伙到现在没有做过任何表示,没有举过手没有任何互动,会记下来有问题。
?
· AI 与大数据的打通
?
当发现这个人有问题,会告诉教务,这节课是无效的,给到教务去区分这个人有多少次有效上课,有多少次跟老师的互动,有多少次举手。
?
· 降低了在线教育重运营的问题
?
比如随着哒哒的扩大,会发现学生越多,顾问就越多,有一万个学生就有一万个顾问,当学生涨到十万,顾问涨到十万,成本太高了。这就需要 AI 来解决。通过 AI 的方式,帮你去推动学前的准备工作。
?

在线教育大数据中心

?
?
?
沉淀数据。每次我们上完课,这些数据包括 AI 数据和传统数据都会进入教务的大数据中心,这个大数据中心可以方便地去给学生学习兴趣做推荐,举个例子,我发现某个学生在听课的时候对数学课积极度很高,天天在那儿举手,语文课天天睡觉。这时候大数据就会立刻发出告警,以后推荐这个人学理科,这是大数据的作用,可以推荐学习兴趣。
?
还可以判断学生态度,看这个学生到底是不是认真。教学质量,老师讲的好不好也可以通过大数据学生跟他的互动率反映出来。适时匹配度,学生和老师的互动。实时的数据回吐,有人离开了,提醒老师。
?

七牛云基于 WebRTC 架构的直播课堂实践

?
?
?
七牛云即将发布的教育解决方案构架当中的 1 对 1 的部分。老师和学生通过不同的 SDK 设备接入进来,他们要做的是通过 WebRTC 高效并且高性能连接,解决高清、低延时、互动、RTC 这样几个问题,还有白板连接进来,是师生之间最重要的桥梁。除了这些,把刚才的 AI 部分、人工识别的部分和数据存储的部分、旁路直播的部分都结合到里面,是一个完整的教育体系解决方案。这是 1 对 1 的解决方案,还有 1 对多。
?
基于WebRTC架构的直播课堂适用于哪些场景?
??
?
?
第一,在线 1 对 1;
第二,小班课 1 对 4;
第三,传统教育信息化转型,高校也要在线化转型;
第四,双师教育,在 K12 领域非常重要;
第五,企业内部培训。
?
?
Q&A
WebRTC 是否带来直播的 3.0 时代??
?

答:这个是肯定的,直播 1.0 就是广电大家所看的电视机标清,2.0 通过优酷、土豆、爱奇艺让大家观看这件事情。从秀场开始有互动,真正的互动其实是人与人之间的互动并非是打赏,直播 3.0 才是互动,WebRTC 一定是互动环节最重要的环节。?
?
Q
WebRTC的音频质量问题
?

答:OPUS 的算法,可以带来足够的低延时,所以大家都会用这套理论。?
?
Q
是不是只有教育适合 RTC??
答:其实不是的。现在大家看到,医疗、教育、直播、硬件通信,只要有低延时场景的需求都会有 RTC,教育也会分成很多类,企业教育、传统教育甚至医疗教育。
?

原文地址:http://blog.51cto.com/7741292/2163537

时间: 2024-10-10 18:21:57

七牛云徐晶:基于 WebRTC 架构的直播课堂实践的相关文章

新版CKeditor七牛云插件修改

新版CKeditor七牛云插件修改基于,CKeditor 4.6的源码,CKeditor新版支持从word复制内容直接上传了(IE9+),所以不需要之前的imagepaste老插件了.本来打算对上传的文件名做一个修改,避免同时拖入大量文件,导致文件名相同覆盖的情况,考虑到之前使用的是:Uinx时间戳_原文件名的方式,所以默认还是不修改.很多人觉得文件名对搜索引擎排名有提权作用,其实可以说是基本没有的,所以不用纠结文件名的问题. 新版的改动 1.升级到CKeditor 4.6源码,并且保留了CKe

七牛云宫静:基于容器和大数据平台的持续交付平台

7 月 6 日上午,在 ArchSummit 2018 深圳站 | 全球架构师峰会上,七牛云工程效率部技术专家宫静分享了<基于容器和大数据平台的持续交付平台>为题的演讲.本文是对演讲内容的整理.? ? 本次分享的主要内容是基于容器和大数据平台去构建的持续交付系统,是七牛云工程效率部在持续交付.容器化方面去做的技术实践.将从以下两个方向展开:一个是容器化方向,一个是持续交付的平台.主要会结合在七牛云的实践来介绍这个持续集成.持续部署在容器化方向的探索和思考,以及未来方向的考虑.? 01 业务场景

晶盛机电和七牛云达成战略合作,共同打造智能工厂

信息技术日新月异,随着工业制造技术的发展,制造业正在从「业务驱动型」向「数据驱动型」演进,而大数据分析与价值提取则是「数据驱动」之源.七牛云将与晶盛机电一起持续挖掘行业通用场景需求,用数据赋能传统高端装备业.提升高端装备的运行效率,共同为客户打造智能工厂. 10 月 15 日,晶盛机电(300316.SZ)与七牛云的工业大数据合作项目签约仪式在浙江杭州举行,晶盛集团副总裁傅林坚博士与七牛云执行副总裁杜江华先生分别代表双方签署战略合作协议, 晶创自动化软件事业部总经理单连涛先生与七牛云数据科学与产

七牛云大数据平台建设实践

2017 年 1 月 14.15日,为期 2 天的 ECUG Con 十周年大会在深圳圆满结束,会上七牛云 CEO 许式伟做了题为<七牛大数据平台建设实践>的演讲,首次披露七牛云在大数据方向的产品思路,以下是对他本次的演讲实录. 许式伟 七牛云创始人.CEO 从连接到智能 我们都说现在是移动互联网时代,移动互联网时代我们随时随地能够上网,面向连接的革命诞生了很多有意思的应用,包括滴滴打车.外卖,这些都是在连接的时效性基础上做的应用.在有关于连接的革命以后,下一个阶段就是面向智能的革命.滴滴打车

七牛云--开发笔记

开发文档:https://developer.qiniu.com/kodo/sdk/1241/php 一.下载官方SDK : https://github.com/qiniu/php-sdk/releases?ref=developer.qiniu.com 下载源代码包后,解压到您的项目中. 然后在您的项目中引入 autoloader: 基本使用方法 安装好 SDK 后,接下来介绍如何使用 SDK.在使用 SDK 之前,需要注册一个七牛帐号,并登录控制台获取一对有效的AccessKey和Secr

《介绍一款开源的类Excel电子表格软件》续:七牛云存储实战(C#)

?? 两个月前的发布的博客<介绍一款开源的类Excel电子表格软件>引起了热议:在博客园有近2000个View.超过20个评论. 同时有热心读者电话咨询如何能够在SpreadDesing中实现存储Excel云文件,既通过云方式读取.加载Excel文件.在本文,我们就大家关心的云存储进行实战操练---基于SpreadDesign源码基础. 系统必备: 本文选用的国内比较流行的七牛云存储. SpreadDesign.exe已经升级为最新的Spread Studio 8.35.20143.0内核 .

CKeditor七牛云JS SDK前端上传插件修改

七牛云官方有放出JS SDK,没有我想使用的CKeditor前端上传插件,所以结合七牛官方的Javascript SDK对CKeditor做了一些修改使它能够直接上传到七牛云,又同时保留了上传到本地服务的接口. 优点和缺点1.在前端上传到七牛云,不消耗服务器带宽和流量.空间.2.保留了CKeditor上传到自己服务器的能力.3.支持拖拽和剪切板黏贴图片上传(因为是保存为png格式,建议只黏贴色彩单调的图片,要不然图片会很大,浪费流量).4.拖拽和剪切板黏贴图片.不支持4M以上的文件,因为没有分块

使用七牛云存储解决ios7.1的app部署问题

使用七牛云存储解决ios7.1的app部署问题 一.问题描述 开发完ios版本的app.需要将.ipa文件和.plist文件打包上传,供用户下载,在线安装.用户安装过程简单描述如下: 首先通过手机浏览器safari或者扫描二维码获取到下载.plist的地址.然后浏览器会自动跳转到这个地址,下载.读取.plist.(用户跳转的地址是.plist的下载地址.)这个过程,显然使用http协议来下载.plist文件.最后,iphone通过读取.plist文件中配置的.ipa下载地址,来安装.ipa文件,

七牛云存储还有一个独一无二的特性——支持用户将文件从客户端直传到云服务器中

目前七牛已经拥有数千家客户,你会发现其中有很多都是像知乎.Weico.Camera360.美图秀秀.蝉游记和Vida等UGC(用户产生内容)类产品,尤其是在图片社交领域.这是因为,除了我在前面所说的“云存储”比传统方案更节省成本外,七牛云存储还有一个独一无二的特性——支持用户将文件从客户端直传到云服务器中.因为我看过蝉游记CTO Quake撰文写过这一特性,所以就直接引用他的原文来做说明: 常见的云存储上传文件流程一般如下: 用户 =>应用服务器 =>云存储提供商 这样多了一次上传的流程,和本