V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vcloud163
V2EX  ›  问与答

网易视频云分享:流媒体技术介绍(下篇)

  •  
  •   vcloud163 · 2016-04-19 10:57:41 +08:00 · 1690 次点击
    这是一个创建于 3176 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网易视频云干货系列——流媒体技术介绍之下篇和大家见面了!上篇的分享从传统流媒体的技术特点等方面进行分析。中篇的分享举例对比了企业方案。本次的分享将主要举例国际技术标准的解决方案,对比分析各自的优缺点。

    目前, HAS 技术的实现方式从标准的类型来看主要有两大类:一类是企业方案,即提供了整体的技术解决方案,如 Apple Live Streaming 技术、 Adobe Dynamic Streaming 技术、 Microsoft Smooth Streaming 技术;另一类是一些国际标准组制定的技术标准,如 OIPF 的 HTTP Adaptive Streaming 、 MPEG 的 DASH(Dynamic Adaptive Streaming over HTTP)、 IETF 的草案(由 Apple 公司提议的草案)。

    OIPF

    OPEN IPTV Forum 在其定义的 OIPF 技术规范中对码率自适应技术进行了界定,规范中对如何实现 HTTP 码流自适应的理论进行了细化及扩展,明确了如何使用及使用的范围。该标准以 3GPP 的 Adaptive HTTP Streaming 技术规范为基础进行相关的扩展,增加了对 MEPG-2 TS 格式的支持。

    OIPF 的码率自适应标准中对终端下载的索引文件进行了定义, OIPF 中将索引文件命名为 MPD(Media Present Description)文件,采用 XML 格式进行组织。

    同时 OIPF 标准规定了媒体的封装格式为 TS 和 MP4 ,并且对分片的一些细节进行了界定,如同一内容的不同码率的文件必须使用同样的媒体封装格式,但是编码的 Profile 可以不同。

    该标准对直播应用场景以及快进、快退、定位等操作均进行了定义。

    MPEG-DASH (Dynamic Adaptive Streaming over HTTP)

    MPEG-DASH 是基于 HTTP 的自适应串流方案中的唯一国际标准, MPEG-DASH 技术由 MPEG 主导开发。 DASH 标准对目前出现的 HTTP Adaptive Streaming (HAS)技术框架进行了总结归纳,对背景、目的以及使用场景进行了介绍。该标准中定义了一系列的使用场景,如 3D Video 、互动 3D 、动态码率自适应、 Peer-2-Peer 以及多画面电视,同时还对如何与内容保护技术结合进行了定义。

    DASH 标准的制定主要为了解决以下问题:

    Ø 更为有效地将 MPEG 的媒体通过 HTTP 协议,以自适应、渐进式、下载或流的方式进行内容分发;

    Ø 支持直播业务;

    Ø 更为有效地利用传统的基于 HTTP 的 CDN 网络、代理 Server 或防火墙等网络基础部件;

    Ø 支持与内容保护系统的结合,完成对内容的保护。

    总的来说, DASH 对采用 HTTP 传输 MPEG 媒体涉及到的各方面提出了一系列的技术要求,包括了媒体内容格式、传输方式、 MPD 文件、业务控制、自适应以及媒体保护等。

    图 MPEG-DASH 方案结构图

    MPEG-DASH 前端 HTTP 服务器和 MPEG-DASH 客户端之间的逻辑关系如图所示。节目内容首先存储在 MPEG-DASH 前端 HTTP 服务器上,随后使用 HTTP 协议进行传输。媒体内容在服务上存储方式由两个部分组成:第一:媒体内容描述 Media Presentation Description (MPD),其中包括内容的文件块索引文件文件、内容的变量信息、 URL 以及其他特点。第二:文件片段,它代表了该节目所有的节目数据块。

    图 MPEG-DASH 方案 MPD 数据结构图

    所有的 HTTP 为基础的码流传输技术都包含两个功能模块,节目码流和文件块索引文件,在 DASH 方案中节目码流称之为媒体表示,而文件块索引文件称之为媒体描述,文件的数据结构如图所示。

    在播放节目内容时, MPEG-DASH 客户端首先要获取 MPD 文件, MPD 文件可是通过 HTTP 、 email 、广播或者其他方式传输。通过解析 MPD 文件, email 客户端可以了解节目的时间信息、节目的可用性、节目类型、清晰度、最大与最小带宽,以及几种不同编码码率的节目流、 DRM 信息、节目位置以及与内容相关的其他信息。利用以上这些信息, MPEG-DASH 客户端选择合适码率进行播放。在节目内容开始传输并开始缓冲时,客户端继续从服务器端获取节目片段,并检测网络带宽变化。通过对网络带宽的检测客户端可以选择接受多大码率的节目。在 MPEG-DASH 中只定义了 MPD 和文件片段的格式,并没有定义二者的封装格式以及客户端如何获取二者。

    u 优势

    从纯技术的观点,在所有的互联网电视方案中 MPEG-DASH 看起来像最好的选择,它采用了好的设计思想,同时保持了很好的兼容性。作为被 ISO 和 MPEG-LA 推动的标准,与其他软件或互联网公司设计的互联网电视方案,它的设计更好满足产业实际。 Ultraviolet 很好了反映了“ buy once, play anywhere ”的设计思想,只有很少数的消费者是 Apple 或 Android 的忠实支持者,大多数用户拥有多个不同类型和厂家的终端设备;

    u 不足

    从用户端看,非常少的播放器采用 MPEG-DASH 方案,而且 MPEG-DASH 方案仍然处在起草阶段; Apple 和 Disney 公司没有参加 Ultraviolet 组织, Ultraviolet 是对 Apple 产品的一种潜在威胁,它允许用户在其他不同的设备上观看同一个视频流。

    总结

    通过研究各种标准组提出的技术规范以及微软、苹果等公司的企业技术方案,我们可以看出基于 HTTP 的码率自适应的实现原理是类似的,主要的区别在于媒体文件格式以及索引文件格式的不同,如表所示。

    表 HAS 文件格式对比

    在这里我们谈了许多 HAS 的优势, HAS 方案的功能对比如表-2 所示,但是目前的技术体系还有许多方面有待完善及改进。

    首先,上述技术体系都是基于 Client 驱动的模式,依靠 Client 对网络状况及其自身硬件平台的能力情况进行判断,通过解析索引描述文件,最终从头端 Server 中以主动“拉取”的形式获取内容。在直播应用中,终端是需要频繁不断地更新描述文件来获取新的内容的相关信息。如采用 Server 驱动的模式,则不需要对描述文件进行频繁地更新, Server 不断获取到最新的内容,并且连续不断地以“推送”的方式向终端发送媒体数据,比较适应于对实时性要求较高的直播应用。

    其次,上述 HAS 技术体系缺乏质量的监测与控制机制。例如,当一个用户在观看直播频道时进行频道切换,当前时间的 GOP 以及播放器需要的初始化信息需要尽快传送到终端进行播放,但是目前的 HAS 技术体系中没有对重要的 HTTP 包进行加速传输的机制。

    表 HAS 功能对比

    HAS 技术的出现为面向多终端的新媒体服务平台的建设提供了一个极佳的解决方案,可以预见 HAS 技术将有着极为广阔的发展空间。

    流媒体技术介绍的分享就到这里。想看到流媒体技术技术完整版请在网易视频云官方微信( vcloud163 )或者网易视频云官方微博查看哦,也可到网易视频云官网( vcloud.163.com ),与技术专家直接进行交流!

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2589 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:12 · PVG 11:12 · LAX 19:12 · JFK 22:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.