开发者学堂课程【场景实践 - 云端搭建直播点播系统:视频直播技术概述】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/513/detail/6847
视频直播技术概述
视频直播技术概述
视频直播发展和现状
2016年被认为是直播元年,用户规模和服务器工商的规模都在不断的上升,基本上就走势来看直播行业可以认为是一个朝阳产业。根据一些机构的预测,到2020年直播市场的产值会增加到600亿,相比于16 年的100亿左右的规模,成长的空间是非常巨大的,可以认为是一个新的风口。视频直播会火的原因从几个方面来分析:第一,用户群体多,基数大,视频直播的用户大部分都是80、90后的年轻男女。不仅是移动互联网的原始用户,而且是目前移动互联网用户的主要的人群,追求更为直接的社交需求。
第二点是人的社交需求,是马斯洛常说的五层需求中的最关键的一层,每个人都有社交需求,而更为形象和直接的视频直播的模式更能够满足人们对社交的需求。
第三互联网技术的更新,从最初的文字到图片然后上升到语音,到现在的视频直播,不仅是因为时代在变,同时也证明互联网开发技术的同时也在转型和升级。
第四点是硬件设备和 WiFi 的普及,伴随着智能手机的普及为视频直播 APP 的爆发提供硬件的基础条件,再加上 WiFi 的流行和 4G 资费的下降,再也不用担心流量的问题,导致视频直播 APP 流行的一个很关键的原因。
2、应用场景:直播+时代
越来越多的行业都加入了直播,呈现了各种直播加时代,行业加直播的方式是利用互联网的平台,利用信息通信在各行各业的结合。商家通过互联网实现网络渠道的扩建,同时在新的领域创造出一种新的生态,从而影响和改变人们的生活。同样是商品的买和卖,在直播中就是别有一番风味的。
比如一件衣服,在淘宝上只能看见商品的图片,在直播中可以通过视频看到真人模特360度无死角的展现,真实立体的同时观众还可以与主播进行实时的互动,观众能够更加的直观了解商品,主播也更便于推荐跟分享。直播加在继承了互联网+的方便快捷的优点的同时,更发扬了自己直观、交互性强的特点。直播作为一种互动性、粘性更强的社交方式,再补足内容形式的同时也增强了商业变现的能力。直播和电商双剑合璧的传播效果,远远超过了文字加图片,在2016年的双11之前国内众多的一线电商,比如天猫、京东、聚美优品等等都开通了直播,都争取在碎片化时代的抢占用户的停留时间,以提高消费者的购买能力。
无直播,不营销已经成为时下最流行的品牌营销口号。通过直播变成了产品加场景化的,更加拉伸了与消费者互动的趣味性。
3、视频直播流程
视频直播的流程分解成几个阶段来看,首先是推流也就是主播端直播数据的采集和处理,可以是摄像头也可以是手机,如果是大型的直播需要更复杂的设备,如果是多路直播还需要打破器等等。
然后数据到达直播平台的时候上面的服务器或者服务器的群就需要对数据进行一些处理,比如转码,有可能是多路的转码,转成不同的清晰度以便不同的网络条件的用户来选择,或者根据 SDK 进行不同的切换,还有同步复制,在直播结束之后视频就可以推送到点播的平台,可以给后续的用户来进行点播,还有鉴黄鉴恐的处理,根据国家的法律法规也是非常重要的一环,视频流经过分析处理之后,下一步就是用户端的播放,涉及到拉流、解码以及渲染、图像效果呈现,还有一个需求是不仅希望是可以看到直播,还产生在直播过程中进行互动的需求,一些新的功能比如已经非常熟悉的弹幕、礼物、点赞等等,从直播到点赞不仅见证了视频行业这个技术飞速发展,更是见证直播是如何从庙堂之高飞入寻常百姓家的。
连麦互动直播是当主播在进行直播期间可以与其中的一个观众或者是某几个观众进行互动,并且让其他观众能够同时看到互动的过程就称为连麦直播,连麦功能的推出让直播的传播方式变成了更加平等,更加具有互动的社交模式,主播和观众的身份由此转化为发起者与参与者,除了最基本的内容传输之外,最主要就是提升参与感。
4、视频直播的关注点
(1)编码方案比较
①软编码
优点:兼容性高,对系统版本要求较低;
编码操作空间大,自由度高
缺点: CPU 消耗高
②硬编码
优点:功耗低,执行效率高
缺点:不同型号的芯片对编码实现的要求不同
(2)通讯协议比较
RTMP: 开源软件和开源库的支持稳定完整,延迟在2-5秒
FLV: 没有复杂的状态交互,从延迟角度看,要优于 RTMP
HLS: 利用 HTML5 可以直接打开播放,延迟在5-10秒
首先是首屏秒开,如果都使用过直播的 APP 会有很直接的体验,一些直播 APP 打开之后可能会出现画面不能动或者黑屏的状态,要过一会才能播放只能等,通常打开一个 APP 有加载的过程从技术上来讲是可以理解的,但是就用户最终的体验角度来看,是倾向于打开就能播放,所以实际上是现在主流直播 APP 必须要面对的,首先要实现的功能是通常叫做首批秒开,基本上认为打开某一个直播只需要耗费的时间就是一秒钟弹首屏秒开,在尽量短的时间内把视频的数据快速的呈现出来,是一种体验上的改进,并不包括从内容生产方传输到直播观看者应用的整个业务的延迟,如果打开直播的同时实际上可能不是最新的数据,应该也是一秒之前的数据。
然后第二点是卡顿,以卡顿率作为直播业务来讲,与后端网络的分发,客户端的设计以及视频的切片间隔可能都有关系。
再来就是延时的,延时指的是内容生产者到直播,观看者之间的延迟,延迟尽量的希望做到最低,当用户在做一些比如送花、聊天等等社交互动的时候,作为内容可很希望能够尽快的动作响应,如果延迟过高响应的体验就比较差,所以时间越短越好。对于要求一些动作,在用户看来希望认为是同时发生,这样才是最佳的体验。所以方式对于延迟的要求可能非常的苛刻。
第四点是多码率多格式,主要是适配的问题,多码率更多是网络环境的适配,比如在 WiFi 环境下或者在 3G、4G 的环境下或者是在热点区域下,还是在信号不太好的情况下对码率都是非常的敏感,实际上码率是下载的带宽,带宽不够大的时既要保证清晰度,还要保证流畅度是有矛盾的,所以什么时候去给用户更换码率,也是作为一个直播服务需要去思考的问题。多格式跟多终端是相关的,比如苹果一些设备如果直接通过浏览器去看,是不能看 FLV 的格式视频,而且 RTMP 的格式是专用格式,需要对应的播放器才能播放,所以多格式多端适配也是直播平台需要去考虑的一个问题。最后是多终端,基本上就是向移动端要去考虑 ios,考虑安卓,然后考虑 PC 端或者网页端的不同方式。
另外还有比如编码方案俗称的软件和硬件的区别,两种方案各有优缺点,所以是根据不同的使用场景和需求来选择。
通信协议的选择,主要从稳定性跟延迟来做比较,大部分的视频服务提供商的架构基本也是趋同,都是通过推流端通过 RTMP 向 CDN 就近推流,播放端是根据不同的平台比如 PC 端的多数是采用 FLV 来播放,移动端多数是采用 HLS 来播放。
5、视频直播技术的挑战
资源消耗大且增长迅速
用户观看体验在海量并发业务下难以保障
重资产业务,IT 成本巨大
违法违规内容控制十分棘手
视频直播技术面临的挑战跟点播技术面临的挑战基本是类似的,首当其冲是海量存储的问题以及高并发访问的问题。相对于点播业务来说,直播业务的违法风险和成本会显得更大一些。
因为点播内容如果是涉黄涉恐可以第一时间下架,扩散的时间跟面积不会像直播那么大。尤其是现在直播行业处于一个上升阶段,各种平台良莠不齐,有些主播为了吸引眼球经常会做一些暴力色情的直播来拉抬流量,大部分是突发的情况,所以对平台方来讲都是很严峻的考验。对于技术服务来说能在云端提供方便的健康健康的服务是非常重要,并且是非常必要的,因为要单纯靠人力来完成成本代价是很高的,并且效率也是很低下。
所以针对这些问题,阿里云推出了视频直播服务的一个一站式的解决方案,来为用户排忧解难。