文/胡小清
娱乐视频直播为什么需要DASH?
电视直播是历史悠久的业务,这也是PayTV市场的主要收入来源,每年全球超过2500亿美金的收入依赖于电视直播这个业务产生。
新生代可能已经逐渐远离了电视机,更多选择Mobile Terminal、PAD、PC并且通过互联网随时随地的看视频,电视直播依然是最受欢迎的基本业务之一。
但在全球范围内,主流的OTT都是从点播开始的,高质量的直播服务很少见到,为什么呢?
在中国因为广电总局181号文件《持有互联网电视牌照机构运营管理要求》中广电总局已经对互联网电视产业进行了封杀,在OTT上不允许提供直播服务。
乐视采用NVOD将审核通过的片源通过节目编排成直播节目;
中国移动因之前一直没有IPTV牌照(2016年6月30日刚刚拿到牌照),只有OTT牌照,直播频道服务是采用录制回放;
OTT APP:1、电视家,2、VST全聚合,3、电视直播,4、电视猫,其宣称是针对PAD设计,因此目前游走在广东总局181号文的边缘;
腾讯视频电视台直播:采用的录制回放。
在海外由于运营商基本上为综合运营商,或者通过兼并收购实现了DVB+OTT或者IPTV+OTT的综合服务提供,因此在直播业务上,综合运营商更倾向于保留DVB或者IPTV的服务提供方式,在此基础上叠加OTT点播。
那问题来了,谁有OTT直播的需求?
当4K来临时,传统DVB网络可能会面临一次抉择,到底是在广播频段上传输有限的4K频道,还是直接迁移到OTT网络实现一步到位的全IP化,有激进的运营商可能会选择后者,大多数保守的运营商肯定会选择前者。但所有的DVB都要支持Multiscreen VOD点播,如果要考虑到未来3-5年的DVB直播的IP化,现在的MulitiScreen就应该一步到位选择融合IP解决方案。对于新的视频运营商,一定会选择一步到位的融合IP解决方案。
先不论商业上的形态何时具备OTT直播的条件,但从技术上应该要做好准备,DASH不仅是点播的最好选择,对直播的考虑也已经相对完善。
娱乐视频直播的关键技术?
DASH,又叫MPEG DASH,DASH:Dynamic Adaptive Streaming over HTTP ,是一种在互联网上传送动态码率的Video Streaming技术,类似于苹果的HLS,DASH会通过media presentation description (MPD)将视频内容切片成一个很短的文件片段,每个切片都有多个不同的码率,DASH Client可以根据网络的情况选择一个码率进行播放,支持在不同码率之间无缝切换。
DASH是由MPEG (Moving Picture Experts Group)组织制定,2010年开始启动,2011年11月发布Draft版本,2012年4月发布第一稿Version(ISO/IEC 23009-1:2012),2014年5月发布第二稿(ISO/IEC 23009-1:2014),最新稿(ISO/IEC 23009-3:2015)。
目前3GPP Release 10已经将DASH纳入其中;在HbbTV 1.5中也支持DASH;DVB-DASH也将DASH纳入到DVB(ETSI TS 103 285 v.1.1.1)。目前DASH Industry Forum由发起厂家组成,致力于推进DASH产品生态,将DASH产业化和业界最佳实践推向批量应用。
ISO/IEC 23009包含四个部分:
Part 1: Media presentation description and segment formats
Part 2: Conformance and reference software
Part 3: Implementation guidelines
Part 4: Segment encryption and authentication
DASH相比HLS、HSS等协议的优势在于:
1、DASH支持多种编码,支持H.265、H.264、VP9等等
2、DASH支持MultiDRM,支持PlayReady、Widewine,采用通用加密技术,支持终端自带DRM,可以大幅度降低DRM投资成本;
3、DASH支持多种文件封装,支持MPEG-4、MPEG-2 TS(Transport Stream)
4、DASH支持多种CDN对接,采用相同的封装描述对接多厂家CDN
5、DASH支持异构终端,浏览器原生不用插件就可以支持,Android/iOS/Windows/Flash可以通过JITP将DASH转换为HLS、HDS、HSS等,已支持Legacy终端类型,支持一份存储,大幅度减少文件存储量;
6、DASH支持直播、点播、录制、时移等等丰富的视频特性;
7、DASH支持动态码率适配,支持多码率平滑切换;
8、DASH支持紧缩型描述以支持快速启动;
9、DASH支持客户端和服务端的广告插入;
DASH的厂家支持情况:
1、Android原生ExoPlayer播放器;
2、主流OTT:Youtube、Netflix;
3、主流浏览器(采用MSE、EME);
4、主流智能电视厂商:三星、LG、飞利浦、SONY等。
主要的开源框架和Lib库有:
1、客户端
GStreamer
Dash.js
Libdash,支持Android、iOS多平台
2、服务端
Akamai CDN
Amazon Elastic Transcoder
Azure Media Service
BrightCove Zencoder
Nginx RTMP module
Wowza Streaming Engine
DASH典型的一个端到端的系统包含Encoder、Dash Server、Origin Server、Edge Server、DASH Client:
Media Presentation Description是描述分片和时序的信息:从MPD->Period->Adpatation Set(Video/Audio Track)->Representation(Multiple bitrate)->Segement
OTT的视频技术和IPTV的视频技术都是基于IP的,但是采用了完全不同的技术,对比如下:
网络:IPTV基于管理网络、高质量、低丢包率、网络时延小、网络结构相对简单、网络带宽恒定有保障,OTT基于非管理网络、网络质量不可控、丢包率高、网络时延大、网络结构复杂、网络带宽变化显著;
终端:IPTV终端基本上是运营商自己定义的STB,OTT终端型号、配置、能力、资源有极大的差异;
业务:IPTV网络是基于直播业务发展起来的,其核心诉求是直播时延小、基于组播的高效传送,而OTT网络是基于点播业务发展起来的,其核心诉求是对网络质量的容忍度;
技术:IPTV基于UDP+组播的传送技术,无法穿越防火墙,如果出现丢包会有马赛克,OTT基于HTTP over TCP传送技术,可以穿越防火墙,一般不会有马赛克,但会容易出现缓冲。
OTT采用的单播技术,在类似于世界杯、阅兵式、春晚等大型高集中度的直播事件时,传统的OTT单播技术无法满足要求,主要有3个问题:
如果是自建的CDN,边缘CDN无法支持超过平时10-100倍的的带宽服务;
如果是租用的CDN,成本会高到运营方无法承受;
即便不考虑成本因素,由于并发访问量带来的大量的网络拥塞。
解决办法一:ABR Multicast
将DASH Origin Server的流通过Multicast Server将HTTP转到UDP组播网络上,在Multicast Client上将UDP组播码流接受下来。在广播和eMBMS网络上传送DASH已经有相应的规范支持。
解决办法二:P2P
通过P2P节点互助,大幅度降低对CDN边缘节点的压力,可以卸载CDN的90%以上的流量压力,降低90%的带宽租用成本,并且大幅度降低网络路径的拥塞效应,自动通过P2P节点选择规避拥塞路径。
高热点的直播节目是非常适合P2P技术,对于Android/iOS等Mobile Phone/PAD一样非常有效,对本地的存储要求很低,可以基于内存缓存,在WiFi网络下提供P2P流服务。
(更多华为资讯请关注华为开发者社区,华为自己的对外开放门户:http://developer.huawei.com/cn/ict/ ,不要问我叫啥,别人都叫我雷锋)