一种基于细分行业云的OTT流媒体视频终端软件设计
2016-08-05潘涵洋叶德建
潘涵洋 于 翔 叶德建
(复旦大学软件学院 上海 201203) (网络信息安全审计与监控教育部工程研究中心 上海 201203)
一种基于细分行业云的OTT流媒体视频终端软件设计
潘涵洋于翔叶德建*
(复旦大学软件学院上海 201203) (网络信息安全审计与监控教育部工程研究中心上海 201203)
摘要针对流媒体视频服务细分行业的云化趋势,基于细分行业云平台为OTT业务提供的支持,设计具有模块化架构的OTT流媒体视频终端软件,给出其与云平台交互进行迭代更新以及流媒体视频质量保障播控机制的实现方案。应用和测试结果表明,该终端软件在实现功能需求的前提下对终端系统资源的使用较少,其流媒体视频质量监控方法较之传统方法更适用于Android平台和HLS(Http Live Streaming)协议且具有良好的精确性、调控效果和性能表现,可实际用于云平台对终端的管控。
关键词流媒体视频终端软件细分行业云OTT AndroidHLS
0引言
OTT业务等流媒体视频业务作为重要的互联网应用,近年来业务规模持续增长,其中以智能电视和机顶盒为终端的网络流量占用预计在2018年达到消费者总流量的11%以上[1]。随着业务量的上升其运营中必然将遇到越来越多前所未见的问题,靠传统的客户运维模式难以解决;同时,运营商在运营过程中还需要面对保障视频服务质量、视频广告推送、包括机顶盒在内的多种智能终端管控等具有行业特色的业务需求。针对细分行业的业务特性、充分利用云计算的优势增加产品附加价值、提升用户黏度、促进行业转型,构建细分行业的业务云是必然趋势。
细分行业云为流媒体视频业务的发展提供了更有力的支撑,流媒体视频终端软件作为直接影响最终用户体验的服务提供者与之对接,其设计和实现上势必需要调整。而现有国内关于以OTT为代表的流媒体视频业务细分行业的云化研究成果较少。文献[2]根据广电OTT业务提出了流媒体支撑系统平台的设计,但并未提到云计算技术的使用,也没有对以机顶盒为终端的终端软件设计进行说明。国外类似的流媒体视频业务细分行业云系统则有Comcast公司的X1平台,其终端采用了自行开发操作系统的专用机顶盒,在灵活性上有所欠缺,且对于云平台的使用集中在录播存储之上,缺乏对终端管控的描述。
针对这样的研究现状和应用场景,本文分析了细分行业云对OTT业务提供的技术支撑,由此在具有相对较高开放性、设备兼容性以及广泛市场的Android平台上设计了与之对接的OTT流媒体视频终端软件,并描述了其部分关键实现。该设计除引入日志收集用于云端分析、与云平台交互进行更新等终端管控机制外,同时基于HLS协议的特性在应用软件层面设计了适用于Android平台终端的流媒体视频质量监测和调控方法,为通过云平台对OTT终端进行管控从而进一步推进OTT业务的发展提供了一种技术方案。
1细分行业云支持
从云平台架构本身的特性来看,流媒体视频服务细分行业云为OTT业务提供了计算和存储能力的线性可扩展性支持。通过虚拟化技术对物理机CPU和内存资源进行统一管理并使用镜像生成虚拟机,云平台可快速添加应用结点达到服务能力的线性扩展[3]。这意味着云平台可以承受更多的终端请求和日志反馈压力,对终端管控而言这一能力不可或缺。另外通过使用对象存储技术,流媒体视频服务细分行业云可以对大至视频文件、小至文本文件的文件资源进行具有高可靠性的分布式存储和快速访问,其中包括对终端软件安装包的存储管理,这对于终端软件的高频度迭代更新具有帮助作用。
而流媒体视频服务细分行业云作为业务云,除上述基础设施层面外,在业务层面又为OTT业务提供了多种具有行业特色的服务,包括:
(1) 云推送
运营商可通过基于XMPP协议的云推送服务向指定终端或终端组精确推送包含文字、视频等内容的实时或定时推送信息,可作为信息公开的手段有助于与终端用户的沟通从而提高用户体验质量,也便于开展广告业务。
(2) 云转码
可使用云转码服务对片源进行在线和离线转码存储在云端,便于引入多码率切换机制达到视频的流畅播放,也可针对不同的终端分辨率和解码能力进行转码,为实现多屏互动功能做准备。
(3) 视频服务用户体验质量保障
监控视频服务用户体验质量是终端管控的重要内容。影响流媒体视频服务用户体验质量的主要因素为视频播放的启动时间长短、视频播放过程中视频缓冲区下溢造成的卡顿以及视频源本身的清晰度[4]。云平台可使用基于内存缓存的实时计算框架对带宽资源进行统一调度,根据历史数据和终端信息为终端视频播放请求进行初始视频码率和CDN的选择从而达到启动时间长度和视频源清晰度的平衡,并在播放过程中根据终端实时反馈的视频数据下载速率等情况进行CDN切换、码率切换等指令的下发,从而减少卡顿,进一步保障用户体验质量。
(4) 个性化推荐
云端大数据分析平台可以通过对用户行为数据的分析为用户做出个性化的服务内容推荐,优化用户体验,从而提升用户黏度。
上述服务对于终端用户具有直接价值。此外,在运营中细分行业云还可通过终端日志的收集进行及时的故障排查,下发控制指令进行终端参数的调整,通过基于云平台的迭代更新进行终端故障的快速修复,并可通过大数据分析结果为运营策略提供一定的指导。
由上可知细分云平台的支持除了良好的可扩展性便于扩大业务规模外,也使终端有能力提供更好的用户体验质量和更加丰富和个性化的服务,其对终端的管控能力有助于OTT服务提供商进行业务运维和系统更新。为了与细分行业云平台对接,OTT终端软件除了流媒体视频直播、点播等基本功能外还需要实现以下功能需求:一是集成推送客户端,可以处理多种媒体推送内容的下载、解析和绘制;二是在播放器中集成对流媒体视频质量的监测和控制机制;三是需要进行日志收集,为云平台的大数据分析提供原始数据;四是需要能够接收和处理云平台发出的控制指令,而非仅作为请求端向云平台请求媒体资源或进行消息上报。
2模块设计
根据上述分析本文基于Android平台设计了具有模块化架构的OTT流媒体视频终端软件,其模块组成以及模块间依赖关系如图1所示。
图1 OTT流媒体视频终端软件模块化架构示意图
下面对几个主要的功能模块的设计进行说明。
2.1界面绘制模块
终端软件图形界面的设计模式主要分为两种:一是使用基于平台提供的控件进行界面绘制,通过为控件注册监听函数实现用户交互效果;二是基于网页进行开发,通过网页脚本实现交互和跳转。本文在设计中选用第一种模式,主要基于以下考虑:首先,终端桌面入口程序需要迅速在开机后展示界面,使用控件进行界面绘制较之网页载入更为快速,且在没有网络接入的情况下仍能提供良好的用户体验,使用户可以继续使用无需网络接入的部分功能;其次,在终端设备由服务运营商提供的情况下可选择统一的终端平台,无需过多考虑界面的跨平台问题,因此网页开发在此方面不具有明显优势;另外,由于后端云平台的支持,采用控件制作界面也可在后续开发中方便地进行快速迭代更新,使用更换网页的方式进行更新与之相比优势也不甚明显;最后,运营商所关心的提升附加值功能包括滚动字幕、广告推送等需要在可切换的底层功能界面之上进行动态叠加绘制,且推送内容因具体用户而异,使用网页开发难以达到理想的效果。因而本文使用控件进行界面绘制,并在首页界面中对时间、地点、天气等需要访问云平台服务的控件进行了封装,便于迭代更新中的开发重用。
2.2流媒体视频播控模块
流媒体视频业务是OTT运营的价值基础,在设计中需要考虑如何有效监测流媒体视频质量并且加以管控。直接使用Android平台自带的播放器对视频源进行播放其封闭性过高,难以获得播放过程中出现的卡顿等视频质量问题,更无法在问题出现时进行播放策略的调控、减轻对用户体验的负面影响;而使用第三方的软解码库自行编写播放器又失去了机顶盒作为流媒体视频应用专用设备具有的硬件解码优势。为此本文在原有终端播放器之上实现了流媒体视频播控模块,其主要设计思想即在播放器与实际视频源服务器之间插入一个代理层,主要实现两方面功能:一是自行下载流媒体视频数据,可在下载过程中有效地对下载速度和码率选择进行检测和控制;二是可以检测播放器对流媒体视频数据的请求情况,通过比较代理下载进度和请求进度判断出可能出现的播放缓冲下溢情况,并与云平台协作调整下载策略。其详细设计和关键实现将在第4节中进行具体说明。
2.3配置管理模块
终端软件在工作过程中需要使用到大量参数,包括后端云平台各服务接口的地址、日志上报的等级和周期、用户账号信息等。为了能对这些参数进行灵活配置,便于终端的远程管理以及运行过程中避免重复获取参数降低效率,在终端软件中设计了配置管理模块,该模块包括主要包括本地持久化以及控制和访问接口。在开机过程中,终端软件会在系统初始化完毕后尝试从本地配置文件中读取相关信息,若读取成功则将信息缓存在内存之中便于其他模块访问,若读取失败或信息不存在则对可从系统获取的参数进行读取并写入文件,对其他参数则提供默认值。通过配置管理模块获取参数的模块还可注册监听器,当参数经由配置管理模块的控制接口被修改时配置管理模块会通知使用该参数的相应模块,使其作出诸如使参数立即生效等必要的响应。
2.4推送客户端模块
为了与云平台推送服务进行对接,推送客户端模块在设计中使用了XMPP协议进行终端在云平台推送服务器上的注册、登录和消息收发。在收到消息后推送客户端模块会在对其进行解析后根据具体消息类型与其他模块进行协同处理。首先,云推送服务中的滚动字幕、首页留言等文字信息推送内容可以直接包含在消息之中,推送客户端模块即将其交由上层推送内容绘制模块进行调度和绘制。其次,云推送服务中的视频推送内容则以资源地址的形式包含在消息之中,需要交由流媒体视频播控模块进行下载和播放。最后,云平台控制指令例如配置参数调整和诊断指令同样也可由此模块进行接收识别,再交由配置管理模块进行处理。同时该模块内包含保护机制,在与云平台推送服务器连接中断时可以自动检测重连。
2.5第三方软件管理模块
为用户提供第三方软件可以在一定程度上提升用户黏度,带来更多的附加价值,为此在OTT流媒体视频终端软件中还设计了第三方软件管理模块。该模块首先通过集成市场类应用为用户精选推荐应用;其次通过提取应用包名关键词的方式对终端上已安装的应用进行分类,便于用户的查找使用;最后在首页还提供进入第三方软件的快捷方式,基于日志收集模块统计的用户对各第三方软件的使用频度作智能设置,也可让用户自行编辑,使用户得到更好的使用体验。
2.6日志收集模块
日志收集模块是流媒体视频终端软件与细分行业云对接的重要部分,该模块向其他模块提供接口记录日志信息,其主要分类如表1所示。
表1 日志信息分类
当其他模块调用日志收集模块的相关接口时,日志收集模块会判断当前日志的对应开关是否打开或是否达到从配置管理模块中获取的日志最低收集等级,如满足收集条件则将其打上时间戳放入消息队列进行异步发送,否则将其丢弃。如果日志收集模块本身出现无法向云平台上报的情况,则记录此异常,并仅将满足从配置管理模块中获取的日志保存等级和数量的最近若干条告警信息写入本地文件,等待下次可上报时发送。
3开机更新和启动流程设计
终端软件的迭代更新主要在开机启动流程中进行,该过程如图2所示。
图2 终端软件开机启动流程
首先终端软件初始化服务检测机顶盒的联网情况,如一段时间内不能连接到网络则终端软件跳出提示框以及机顶盒系统设置入口,提醒用户检查终端网络配置是否正确;在网络连接的情况下则接着进入认证流程,通过加密连接向云平台发送账户信息,如无法访问到认证接口或认证失败则终端软件跳出提示框以及软件设置入口,提醒用户检查软件参数配置是否正确;如认证成功则返回云平台将返回软件更新信息,即后端云平台更新服务接口,以及直播频道列表获取接口等动态参数信息;终端软件通过访问后端云平台更新服务接口获得当前最新的软件版本号以及对象存储服务提供的软件安装包临时访问地址;终端软件在进行软件版本比较等操作后,如不需要更新则直接从各接口获取动态参数,初始化各模块进入首页,如需要更新则直接访问云端对象存储服务下载新版软件安装包,通过辅助应用对软件作静默更新和重新启动。初始化服务启动时同时会启动后台保护线程,当初始化过程中出现异常或者初始化完成后出现网络连接断开等异常情况时后台保护线程会进行检测,尝试继续未完成的初始化操作或重做必要操作。
4流媒体视频质量保障播控机制设计
流媒体视频质量的保障主要在于监测和调控两方面。本系统中使用的流媒体视频协议为HLS协议,由于其基于HTTP协议,故具有服务易于部署、自动支持多种路由器和防火墙等优势[5]。下面即针对该协议以及Android平台的特性分别对监测和调控方法的设计进行说明,并描述关键实现。
4.1监测方法
现有的终端视频质量实时监测方法大致可分为两类:第一类是通过测量传输速率等网口数据反映流媒体视频质量,如文献[6]中对丢包率及延迟因子的计算;第二类则深入播放器内部进行媒体数据的收集分析,如文献[7]中在Flash等浏览器播放插件中加入监测模块。对HLS协议而言,其底层多基于TCP协议的可靠传输,故用第一类方法测量丢包等网口指标对其并不适用,且网口数据将包含第三方应用在后台进行的数据传输,其测量结果并不准确;另外对Android平台而言,其内置播放器封闭性较高,如照搬现有的第二类监测方法则需要对Android系统本身进行定制或者使用第三方软解码播放器对其源码进行修改,不利于在终端应用软件层面实施。
为此本文在终端软件的流媒体视频播控模块中自行实现了HLS协议中的索引文件解析和视频块管理功能,从而监测可主要通过播放进度与下载进度的比较以及下载速率与视频码率的比较实现。当播放进度超过下载进度,即播放器需要解码的数据在本地尚不存在时,播放器缓冲区为空,将造成卡顿,影响用户体验质量;当平均下载速率小于视频码率时,若播放器缓冲区不为空则可在一定程度上延迟可能的卡顿,但若平均下载速率持续小于视频码率则最终缓冲区数据将耗尽而产生下溢,导致播放卡顿。
4.2调控方法
针对HLS协议以及其他基于HTTP的自适应流媒体协议,相关的流媒体视频质量调控方法主要基于协议中支持的多码率选择机制实现。文献[8]就提出了一种多码率情况下通过初始CDN和码率选择以及播放过程中动态切换CDN和码率达到视频流畅播放的解决方案。然而国内现状无法照搬多码率动态调控方案:现有多码率片源较少,即便存在多码率片源也大多只区分高清标清或者为PC、平板即手机终端分别转码;而文献[9]表明动态码率切换必须逐步过渡才能防止用户观看的不适感,因此在云转码机制尚未与内容提供商对接的情况下现有片源难以实施该调控方法。目前电视猫、泰捷视频等第三方视频资源集成终端软件也仅提供了初始码率的选择,且仅在播放失败时通过切换视频源的方式进行调控。
为此本文在调控方法中引入多线程下载机制作为补充,可以在单一码率或最低码率仍然有视频卡顿的情况下调整下载速率。文献[10]已经说明了当一个应用同时开启N个TCP连接,与其他k个TCP连接共享网络带宽时,该应用得到的带宽为总带宽的N/(N+k)。故当流媒体视频应用与其他网络应用共享网络带宽时,开启多个线程、每个线程各开一个TCP连接进行并发下载较之仅使用一个TCP连接进行下载可以达到较为可观的更快的媒体数据下载速率。除流媒体视频应用外,占用网络带宽资源较大的网络应用通常是P2P文件传输等应用,这些网络应用并不如流媒体视频应用那般对实时性有较高的要求;此外,网页浏览等常见应用事实上也因为使用了AJAX和推送等技术存在多个TCP连接同时通信的情况。因此在流媒体视频应用中使用多TCP连接并发下载是可行且合理的。
4.3关键实现
上述监测和调控方法在流媒体视频播控模块中通过下载控制子模块和本地服务器子模块得到了实现,其与云平台和底层播放器的交互如图3所示。当用户请求播放某一HLS视频源时,流媒体视频播控模块将首先检查播放器当前是否处于播放状态中,如是则先停止播控模块的多线程任务以及播放器视频播放。之后由流媒体视频播控模块向云平台请求索引文件,由云端视频质量保障服务根据终端软硬件参数、历史播放情况等信息进行初始CDN、最高码率和最大并发下载线程数的选择,生成对应的索引文件。流媒体视频播控模块根据索引文件访问对象存储或目标CDN下载媒体数据,开始初始缓冲,并监测下载速度、评估网络带宽情况。对于直播流尽快下载最近的若干个视频块并开始周期性检查是否有新的视频块可下载,对点播流则尽快下载开头的视频块,下载的视频块均放置在终端本地服务器内。初始缓冲完成后,流媒体视频播控模块根据已下载视频块在本地服务器的访问位置生成本地索引文件,即生成了一个以本地服务器为视频源服务器的HLS视频流,此时再调用播放器对该流进行播放。如此,则原来被Android平台播放器封装的下载流程完全被流媒体视频播控模块接管,可以自行根据当前网络带宽评估情况调整下载策略;同时由于使用原播放器进行播放,还能继续利用终端机顶盒的硬解码优势。当播放器向本地服务器请求某一视频块时,本地服务器在返回媒体数据的同时根据视频块播放时长开启定时器预测请求下一视频块的时间;若定时器被触发时预定被请求的视频块仍未出现在本地索引文件中供播放器请求,则可认为播放器可能将出现下溢。而本地索引文件中已出现的视频块也可能因多次下载失败在本地服务器中实际并不存在,则播放器可能会重复播放前一视频块,造成用户体验质量的下降,这种情况也能为本地服务器所感知。这些可能的下溢情况以及下载速度等信息都可经由日志模块上报到云平台,使云平台可以动态下发指令调整播放策略;同时流媒体视频播控模块也可在本地直接进行码率的选择和多线程并发下载数的调整,及时防止或补救视频质量下降对用户体验质量的不良影响。
图3 流媒体视频质量保障播控机制交互设计
流媒体视频质量保障播控机制的工作流程中包含多个线程间的交互,如图4所示。各主要工作线程职责如下:
(1) 准备线程
用于视频流的初始化,判断视频流种类并据此启动其他线程。在内存中建立用于视频块信息存储的双链表,通过标记链表中的位置,记录视频块已下载情况、当前本地索引文件中包含的视频块等。
(2) 远程索引文件更新线程
仅用于直播流,周期性检查是否有新的视频块;当有新的视频块可供下载时将其加入链表,并通知下载控制线程。
(3) 本地索引文件更新线程
仅用于直播流,当有新的视频块被下载到本地服务器时更新本地索引文件的内容。通常处于挂起状态,由下载控制线程唤醒。
(4) 下载控制线程
根据云平台下发的控制指令中包含的配置参数确定下载模式,包括是否采用多线程并发下载。通常处于挂起状态,当远程索引文件更新线程将其唤醒后根据下载模式启动一个或多个线程下载新的视频块,同时评估实际下载速率,与码率对比,在多线程下载模式下为下一次选取启动线程数提供参考,并将实际下载速率交由日志收集模块上报至云平台。当某一视频块对应下载线程全部结束后根据链表中记录的信息判断其是否下载完成,如成功则唤醒本地索引文件更新线程,否则进行有限次重试下载,如依旧失败则仍将该视频块信息写入本地索引文件,防止视频块序号混乱。
(5) 下载线程
实际对视频块进行下载的线程,由下载控制线程启动。根据下载情况对链表中相应视频块信息进行修改。
(6) 清理线程
在直播流中用于周期性清理已播放的视频块,即链表中处于本地索引文件包含范围之前的视频块,并在当前视频流停止播放后清理所有本地临时文件。
图4 流媒体视频质量保障播控机制多线程交互
5应用与测试
本文在基于Android操作系统的海美迪机顶盒上进行了终端软件的开发实现并进行测试,该款机顶盒的具体软硬件参数如表2所示。该终端软件已实际投入一百个以上终端的OTT业务运营中。
表2 机顶盒软硬件参数
实验测得该机顶盒在空闲状态,即除资源使用情况测量软件外没有其他非系统软件运行的情况下,其CPU使用率约在7%以下,内存使用率约在39%以下。
图5显示了该终端软件从启动开始到稳定运行共5分钟过程中的CPU和内存使用情况。用户操作包括终端软件启动完成后从首页进入直播功能,之后每15秒左右进行一次换台操作,其中视频流的平均码率为600 Kb/s。其间终端软件同时也在进行云平台推送的滚动字幕的叠加绘制,日志上报等后台服务也处于正常运行状态。可以看到仅在前20秒终端软件进行初始化时其对系统的CPU使用负荷较大,达到了约45%,之后则稳定在16%以下,对内存的使用则一直稳定在41%以下。由于终端软件作为机顶盒桌面入口程序在机顶盒启动时率先运行且运行在前台,具有一定的独占性,故此处认为其启动时对终端系统资源的使用可接受。
图5 终端软件开机启动系统资源占用
图6显示了终端软件稳定运行时的平均资源使用情况与机顶盒空闲状态,即除资源使用测量软件外没有其他非系统软件运行情况下的对比。估计可得终端软件对内存的占用在存储空间的2%即20 MB左右,且CPU占用率的绝对大小不高,可认为其稳定运行时对终端系统资源的使用较少。
图6 终端软件稳定运行系统资源占用与空闲状态对比
图7显示了终端软件中流媒体视频播控模块监测方法对视频块下载速率的监测结果与传统网口监测结果的对比。网口监测结果只能通过周期性采样获得采样周期内的平均下载速率,无法获知视频块开始和结束下载的时间点。图中播控模块内监测清楚地反映出了HLS视频流开始播放时快速下载若干视频块填充缓冲区以及后期间歇性下载新视频块的播放器行为,而以4秒为周期的网口采样监测只能反映下载速率变化的大致趋势,更为频繁的采样将过度消耗系统资源。
图7 播控模块下载速率监测结果与网口监测结果对比
图8显示了终端软件中流媒体播控模块基于多线程下载的视频质量调控方法与原生播放器的对比。在与约25个其他TCP网络应用竞争20 Mbps网络瓶颈的情况下,原生播放器调控方法由于下载速率较视频块码率整体偏低而逐渐耗尽缓冲区数据导致长时间卡顿,图中可看到11到17号视频块被播放器跳过以弥补视频卡顿导致的直播播放进度的落后。而引入多线程下载调控机制、最大下载线程数设置为3的播控模块则整体上维持了较高的下载速率,达到流畅的播放效果。
图8 播控模块下载速率调控与原生播放器对比
为进一步测试流媒体视频播控模块在视频流稳定播放时对系统资源的使用情况以及流媒体视频质量保障播控机制的实际可操作性,本文又基于终端软件设计中的流媒体视频播控模块开发了单独的播放器测试应用。图9显示了使用该测试应用进行平均码率约为600 Kb/s的直播视频流播放时,多线程下载机制使用的最大下载线程数对应的CPU占用率。内存占用率由于其随最大下载线程数变化和播放时间推进未产生明显差异故未在图中画出。从视频流稳定播放的角度对测试结果数据进行考察,可以看到CPU在视频刚开始播放时使用较多,之后随着视频流的稳定播放逐渐下降到稳定水准,这一现象符合视频启动时快速填充解码缓冲区的过程,也表明视频稳定播放过程中流媒体视频播控模块对系统资源的使用状况稳定可接受。另一方面,测试数据也显示流媒体视频播控模块对系统资源的使用并未随着最大下载线程数的增大而发生显著变化,表明经由云平台向终端软件发送下载线程数设置指令以实时调整视频数据下载速率的视频质量控制方法并不受到终端系统资源的限制,具有实际可操作性。
图9 流媒体视频播控模块CPU占用率与最大下载线程数关系
6结语
流媒体视频细分行业云的验证离不开相应终端软件的对接实现。本文设计的OTT流媒体视频终端软件在实现主要功能的前提下具有较少的系统资源占用,其流媒体质量监控方法具有一定的精确性和有效性,可实际用于机顶盒终端的云管控。在OTT业务的后续运营过程中本终端软件的配置参数可根据细分行业云的大数据分析结果进行调控,便于用户体验质量的提升,有利于业务的进一步发展。
参考文献
[1] Cisco Systems,Incorporated.Cisco visual networking index:forecast and methodology,2013-2018 [R/OL].Cisco Systems,Incorporated,2014.http://www.cisco.com/c/en/us/solutions/collateral/service-provider/ip-ngn-ip-next-generation-network/white_paper_c11-481360.html.
[2] 辛静,刘晓娟,魏娇娇.广电OTT流媒体支撑系统平台设计[J].计算机应用与软件,2015,32(1):167-170.
[3] 赵少卡,李立耀,凌晓,等.基于OpenStack的清华云平台构建与调度方案设计[J].计算机应用,2013,33(12):3335-3338,3349.
[4] Conviva,Incorporated.Internet TV:bringing control to chaos[R/OL].Conviva,Incorporated,2015.http://www.conviva.com/conviva-intelligent-control-whitepaper.
[5] 金达,叶庆伟,狄红卫.基于HLS 的流媒体播放系统的设计与实现[J].信息技术,2013(10):49-52.
[6] Welch J,Clark J.RFC 4445-A Proposed Media Delivery Index (MDI)[S/OL].IneoQuest Technologies,Cisco Systems,2006.https://tools.ietf.org/html/rfc4445.
[7] Ganjam A R,Huebsch R J,Lakshminarayanan K K,et al.Monitoring the performance of a content player:US,8874725[P].2014-10-28.
[8] Jiang J,Sekar V,Zhang H.Improving fairness,efficiency,and stability in HTTP-based adaptive video streaming with FESTIVE[J].IEEE/ACM Transactions on Networking,2014,22(1):326-340.
[9] Mok Rkp,Chan Eww,Luo X,et al.Inferring the QoE of HTTP video streaming from user-viewing activities:Proceedings of the first ACM SIGCOMM workshop on Measurements up the stack,Toronto,August 15-19,2011[C].New York:ACM,2011.
[10] Hacker T,Athey B,Noble B.The end-to-end performance effects of parallel tcp sockets on a lossy wide-area network:Vehicle Navigation and Information Systems Conference,1993 [C].IEEE-CS/ACM,2002.
收稿日期:2015-02-11。上海市科委科技发展基金攻关项目(12511503002)。潘涵洋,硕士生,主研领域:网络多媒体。于翔,硕士生。叶德建,副教授。
中图分类号TP3
文献标识码A
DOI:10.3969/j.issn.1000-386x.2016.07.005
DESIGN OF AN OTT STREAMING MEDIA TERMINAL APPLICATION BASED ON SEGMENTED INDUSTRY CLOUD
Pan HanyangYu XiangYe Dejian*
(SoftwareSchool,FudanUniversity,Shanghai201203,China) (EngineeringResearchCenterofCyberSecurityAuditingandMonitoring,MinistryofEducation,Shanghai201203,China)
AbstractAiming at the trend of cloud-computing in segmented industry of streaming media video services,this paper presents a design of OTT streaming media video terminals application with modular architecture based on the support for OTT business provided by segmented industry cloud platform,and submits the implementation schemes of the application and cloud platform interactively iterating and updating and the broadcasting control mechanism of quality assurance for streaming media video.Application and test results show that this terminal application expends less resources of terminal system on the premise of realising functional requirements,its quality monitoring and control method for streaming media video is more suitable for Android platform and HLS protocol compared with traditional methods,and has good accuracy,regulatory effect and performance.This application can be put into practical use of management and control of terminals on cloud platform.
KeywordsStreaming media video terminal applicationSegmented industry cloudOver the top (OTT)AndroidHttp live streaming (HLS)