娱乐视频直播背后的技术支持——DASH重构 - Go语言中文社区

娱乐视频直播背后的技术支持——DASH重构


文/胡小清


娱乐视频直播为什么需要DASH?


电视直播是历史悠久的业务,这也是PayTV市场的主要收入来源,每年全球超过2500亿美金的收入依赖于电视直播这个业务产生。


新生代可能已经逐渐远离了电视机,更多选择Mobile Terminal、PAD、PC并且通过互联网随时随地的看视频,电视直播依然是最受欢迎的基本业务之一。


但在全球范围内,主流的OTT都是从点播开始的,高质量的直播服务很少见到,为什么呢?


1中国情况


在中国因为广电总局181号文件《持有互联网电视牌照机构运营管理要求》中广电总局已经对互联网电视产业进行了封杀,在OTT上不允许提供直播服务。

  • 乐视采用NVOD将审核通过的片源通过节目编排成直播节目;

  • 中国移动因之前一直没有IPTV牌照(2016年6月30日刚刚拿到牌照),只有OTT牌照,直播频道服务是采用录制回放;

  • OTT APP:1、电视家,2、VST全聚合,3、电视直播,4、电视猫,其宣称是针对PAD设计,因此目前游走在广东总局181号文的边缘;

  • 腾讯视频电视台直播:采用的录制回放。


2海外情况


在海外由于运营商基本上为综合运营商,或者通过兼并收购实现了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不仅是点播的最好选择,对直播的考虑也已经相对完善。


娱乐视频直播的关键技术?


1DASH介绍


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



2OTT DASHIPTV的对比


OTT的视频技术和IPTV的视频技术都是基于IP的,但是采用了完全不同的技术,对比如下:


  • 网络:IPTV基于管理网络、高质量、低丢包率、网络时延小、网络结构相对简单、网络带宽恒定有保障,OTT基于非管理网络、网络质量不可控、丢包率高、网络时延大、网络结构复杂、网络带宽变化显著;


  • 终端:IPTV终端基本上是运营商自己定义的STB,OTT终端型号、配置、能力、资源有极大的差异;


  • 业务:IPTV网络是基于直播业务发展起来的,其核心诉求是直播时延小、基于组播的高效传送,而OTT网络是基于点播业务发展起来的,其核心诉求是对网络质量的容忍度;


  • 技术:IPTV基于UDP+组播的传送技术,无法穿越防火墙,如果出现丢包会有马赛克,OTT基于HTTP over TCP传送技术,可以穿越防火墙,一般不会有马赛克,但会容易出现缓冲。


3如何在OTT支持高并发的直播服务?


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/ ,不要问我叫啥,别人都叫我雷锋



版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/huawei_esdk/article/details/52123181
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 14:01:55
  • 阅读 ( 1616 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢