CN107040615B - 媒体分片的下载方法、终端和计算机可读存储介质 - Google Patents

媒体分片的下载方法、终端和计算机可读存储介质 Download PDF

Info

Publication number
CN107040615B
CN107040615B CN201710486114.5A CN201710486114A CN107040615B CN 107040615 B CN107040615 B CN 107040615B CN 201710486114 A CN201710486114 A CN 201710486114A CN 107040615 B CN107040615 B CN 107040615B
Authority
CN
China
Prior art keywords
field
baseurl
media
service node
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710486114.5A
Other languages
English (en)
Other versions
CN107040615A (zh
Inventor
陈耀宗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TCL Digital Technology Co Ltd
Original Assignee
Shenzhen TCL Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen TCL Digital Technology Co Ltd filed Critical Shenzhen TCL Digital Technology Co Ltd
Priority to CN201710486114.5A priority Critical patent/CN107040615B/zh
Publication of CN107040615A publication Critical patent/CN107040615A/zh
Priority to PCT/CN2017/110796 priority patent/WO2018233190A1/zh
Application granted granted Critical
Publication of CN107040615B publication Critical patent/CN107040615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments

Abstract

本发明公开了一种媒体分片的下载方法,应用于终端,所述媒体分片的下载方法包括:下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载。本发明还公开了一种终端和计算机可读存储介质。本发明提高了媒体分片下载的流畅性和稳定性。

Description

媒体分片的下载方法、终端和计算机可读存储介质
技术领域
本发明涉及网络电视流媒体领域,尤其涉及一种媒体分片的下载方法、终端和计算机可读存储介质。
背景技术
DASH(Dynamic Adaptive Streaming over HTTP,动态自适应流媒体)是一种利用互联网上传统的HTTP(HyperText Transfer Protocol,超文本传输协议)Web服务器提供高品质流媒体内容的协议。DASH将媒体文件分成多个码率的分片组,以覆盖不同的网络带宽需求,当DASH终端开始播放一个视频文件时,它可以根据网络状况选择可支持的最高码率,从而在保证观看视频效果的同时,减少客户端的卡顿和缓冲。
现有的DASH终端是通过CDN(Content Delivery Network,内容分发网络)分发服务节点,以从服务节点中获取视频内容进行播放。CDN系统能够根据网络流量、各服务节点的连接、负载状况以及到用户的距离和响应时间等综合信息将DASH终端的请求导向离DASH终端最近的服务节点上。其目的是使DASH终端可就近取得所需内容,解决Internet网络拥挤的状况,提高DASH终端访问网站的响应速度。
目前,CDN对于客户端请求重导向功能只能在服务端进行控制,而且大部分DASH终端机只能向服务节点发送的segment(分片)的请求,无法自动选择服务节点,当请某个媒体分片请求失败时,DASH终端只能循环的再次请求,在实际播放过程中,对于一个媒体分片持续5次请求不成功,DASH终端播放就会发生明显卡顿现象,影响了DASH终端的播放流畅度和稳定性。
发明内容
本发明的主要目的在于提供一种媒体分片的下载方法和装置,旨在解决现有的媒体分片的下载方式,容易影响终端播放流畅度和稳定性的技术问题。
为实现上述目的,本发明提供一种媒体分片的下载方法,应用于终端,所述媒体分片的下载方法包括:
下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;
查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;
若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载。
优选地,所述执行对所述媒体描述文件进行解析的同时,执行以下步骤:
建立链表和黑名单列表;
所述查询各个BaseURL字段对应的字段属性的步骤之后,所述方法还包括:
将各个BaseURL字段对应的字段属性以及字段内容存储到所述链表中。
优选地,所述字段属性包括优先级属性、权重值属性和/或服务节点位置属性,所述根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的步骤包括:
在字段属性中包含有优先级属性时,在所述链表中按照优先级属性的顺序对各个BaseURL字段进行排序;
提取出优先级属性最高的BaseURL字段,将所述优先级属性最高的BaseURL字段对应的服务节点作为待下载媒体分片所在的服务节点。
优选地,所述根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的步骤还包括:
在字段属性中未包含优先级属性时,按照权重值属性的值以及预设随机变量函数,确定匹配区间;
根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点。
优选地,所述按照权重值属性的值以及预设随机变量函数,确定匹配区间的步骤包括:
调用预设随机变量函数产生随机数;
按照权重值属性的值以及所述随机变量函数,确定所述至少两个字段所在的区间;
将所述随机数位于的区间作为匹配区间。
优选地,所述进行媒体分片的下载的步骤包括:
获取确定的所述服务节点对应的统一资源定位符URL;
基于所述服务节点的URL和BaseURL进行媒体分片的下载。
优选地,所述方法还包括:
将下载媒体分片失败的服务节点对应的BaseURL添加到黑名单列表中;
确定所述BaseURL的属性,将所述媒体描述文件中与所述BaseURL相同属性的BaseURL都追加到所述黑名单列表中,以取消所述属性的各个BaseURL的访问权项。
优选地,所述方法还包括:
在检测到所述媒体描述文件中所有服务节点的BaseURL都访问失败时,输出错误提示信息,以提示所述媒体描述文件的各个服务节点都不可用,并退出媒体播放。
此外,为实现上述目的,本发明还提供一种终端,所述终端包括存储器、解析器、控制器及存储在所述存储器上并可在所述控制器上运行的媒体分片的下载程序,所述媒体分片的下载程序被所述控制器执行时实现如上文所述的媒体分片的下载方法的步骤。
优选地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有媒体分片的下载程序,所述媒体分片的下载程序被控制器执行时实现如上文所述的媒体分片的下载方法的步骤。
本发明提出的技术方案,终端先下载媒体描述文件,并对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段,然后查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载,即使有服务节点发生故障,终端也可以在其它服务节点中下载媒体分片,无须在同一个服务节点中重复请求,避免视频播放卡顿的情况发生,提高了视频播放的流畅度和稳定性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明媒体分片的下载方法第一实施例的流程示意图;
图3为图2中步骤S20的第一细化流程示意图;
图4为图2中步骤S20的第二细化流程示意图;
图5为图4中步骤S23的细化流程示意图;
图6为本发明媒体分片的下载方法第二实施例的流程示意图;
图7为本发明媒体分片的下载方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
应当理解的是,现有技术主要存在的难点在于:大部分的视频提供商将同一个视频文件中各个码率的媒体分片都存放在同一个服务节点中,导致DASH终端机解析媒体描述文件时,解析策略只能关注到码率切换问题,没有办法处理同个码率请求服务节点成功率问题。
为了解决现有技术的问题,本发明在媒体描述文件中引入BaseURL字段,此技术适用于multiple server locations(多个服务器的位置),也即是同一个媒体分片可以从A服务节点中获取,也可以从B服务节点获取,终端请求的XML文件描述文件包含BaseURL属性,基于此前提,终端可以解析该属性,在请求某个服务节点的时候,若网络错误,就可以通过访问不同服务节点的BaseURL值,自动切换不同服务节点的通道,以访问不同的服务节点,降低服务节点负载的同时,也提高单位时间获取媒体分片的成功率,提高了终端播放视频的流畅度和稳定性。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端的结构示意图。
如图1所示,该终端可以包括:解析器1001、控制器1002,通信总线1003、用户接口1004、网络接口1005和存储器1006。其中,描述文件解析器解析器1001用于下载、解析媒体描述文件,提取出不同的BaseURL。控制器1002用于调度选择不同服务节点和下载媒体分片内容。通信总线1003用于实现这些组件之间的连接通信。用户接口1004可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1004还可以包括标准的有线接口、无线接口。网络接口1005可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1006可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1006可选的还可以是独立于前述控制器1002的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。所述终端可选为DASH终端。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1006中可以包括操作系统、网络通信模块、用户接口模块以及媒体分片的下载程序。其中,操作系统是管理和控制终端与软件资源的程序,支持网络通信模块、用户接口模块、媒体分片的下载程序以及其它程序或软件的运行;网络通信模块用于管理和控制网络接口1005;用户接口模块用于管理和控制用户接口1004。
在图1所示的终端中,网络接口1005主要用于连接各个服务节点,与各个服务节点进行数据通信;用户接口1004主要用于连接客户端(用户端),与客户端进行数据通信;所述控制器1002调用存储器1006中存储的媒体分片的下载程序,以执行以下步骤:
下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;
查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;
若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载。
进一步地,所述执行对所述媒体描述文件进行解析的同时,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行以下步骤:
建立链表和黑名单列表;
所述查询各个BaseURL字段对应的字段属性的步骤之后,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行以下步骤:
将各个BaseURL字段对应的字段属性以及字段内容存储到所述链表中。
进一步地,所述字段属性包括优先级属性、权重值属性和/或服务节点位置属性,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的步骤:
在字段属性中包含有优先级属性时,在所述链表中按照优先级属性的顺序对各个BaseURL字段进行排序;
提取出优先级属性最高的BaseURL字段,将所述优先级属性最高的BaseURL字段对应的服务节点作为待下载媒体分片所在的服务节点。
进一步地,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的步骤:
在字段属性中未包含优先级属性时,按照权重值属性的值以及预设随机变量函数,确定匹配区间;
根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点。
进一步地,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行按照权重值属性的值以及预设随机变量函数,确定匹配区间的步骤:
调用预设随机变量函数产生随机数;
按照权重值属性的值以及所述随机变量函数,确定所述至少两个字段所在的区间;
将所述随机数位于的区间作为匹配区间。
进一步地,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行进行媒体分片的下载的步骤:
获取确定的所述服务节点对应的统一资源定位符URL;
基于所述服务节点的URL和BaseURL进行媒体分片的下载。
进一步地,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行以下步骤:
将下载媒体分片失败的服务节点对应的BaseURL添加到黑名单列表中;
确定所述BaseURL的属性,将所述媒体描述文件中与所述BaseURL相同属性的BaseURL都追加到所述黑名单列表中,以取消所述属性的各个BaseURL的访问权项。
进一步地,所述控制器1002还调用存储器1006中存储的媒体分片的下载程序,以执行以下步骤:
在检测到所述媒体描述文件中所有服务节点的BaseURL都访问失败时,输出错误提示信息,以提示所述媒体描述文件的各个服务节点都不可用,并退出媒体播放。
基于上述终端的硬件结构,本发明提供一种媒体分片的下载方法。
参照图2,图2为本发明媒体分片的下载方法第一实施例的流程示意图。
在本实施例中,所述媒体分片的下载方法应用于终端,所述媒体分片的下载方法包括:
下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;
查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;
若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载。
在本实施例中,所述终端如图1所述的终端,该终端为DASN终端。本发明实施例,主要描述DASN终端对CDNS网络服务器提供的服务节点进行自动选择的方案,具体的选择方式是:对媒体描述文件中包含的各个服务节点的BaseURL进行自动选择。
以下是本实施例中逐步实现媒体分片的下载方法的具体步骤:
步骤S10,下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;
在本实施例中,DASN终端在接收到媒体分片的下载指令时,确定待下载的媒体类型,并在事先默认设置的服务节点中下载所述媒体类型对应的MPD(Media PresentationDescription,媒体描述)文件,当DASN终端下载到MPD文件之后,将下载的该MPD文件存储到预设存储空间,如内存中。
本实施例中需要说明的是,一个视频对应一个MPD文件,一个视频可分成多个媒体分片,因此,属于同一个视频的各个媒体分片对应同一个MPD文件。
在下载到MPD文件之后,DASN终端对该MPD文件进行解析,由于MPD文件是XML格式的文件,因此,该DASN终端对该MPD文件进行解析,是在XML格式的MPD文件中对各个字段进行识别。本实施例中,所述MPD文件中包含有各个服务节点的BaseURL(Base UniformResource Locator,基础统一资源定位符)字段,该BaseURL可唯一表示服务节点。因此,对所述媒体描述文件进行解析之后,即可提取出各个服务节点的BaseURL字段。
进一步地,所述DASN终端对所述媒体描述文件进行解析以提取出各个服务节点的BaseURL字段的同时,还可以建立链表和黑名单列表。
此外,也可以是DASN终端可在下载MPD文件之后,建立链表和黑名单列表,并在建立链表和黑名单列表之后,再对所述MPD文件进行解析。具体的顺序不做限定,可根据实际情况设定。
本发明实施例中,为了提高媒体分片下载的效率,优选所述DASN终端启动双进程,通过一个进程对所述媒体描述文件进行解析的同时,启动另一个进程建立链表和黑名单列表,下文也均以这种方式为例进行详述。
在本实施例中,所述链表用于存储下文提及的各个BaseURL字段的字段属性以及BaseURL字段的字段内容,所述黑名单列表用于存储媒体分片下载失败的服务节点的BaseURL字段。
步骤S20,查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;
在本实施例中,在MPD文件中提取出各个服务节点对应的BaseURL字段之后,进一步查询各个BaseURL字段对应的字段属性,所述字段属性包括:优先级属性(priority属性)、权重值属性(weight属性)和/或服务节点位置属性(serviceLocation属性)。即,每个服务节点的BaseURL字段可包含中优先级属性、权重值属性、服务节点位置属性中的一个或多个。
在查询到各个BaseURL字段对应的字段属性之后,所述方法还包括:
将各个BaseURL字段对应的字段属性以及字段内容存储到所述链表中。
需要注意的是,此时所述黑名单列表为空。在链表中存储各个BaseURL字段对应的字段属性以及字段内容之后,根据各个BaseURL字段对应的字段属性确定待下载的媒体分片所在的服务节点。
具体地,所述步骤S20的实施方式包括:
1)方式一、参照图3,所述步骤S20包括:
步骤S21,在字段属性中包含有优先级属性时,在所述链表中按照优先级属性的顺序对各个BaseURL字段进行排序;
步骤S22,提取出优先级属性最高的BaseURL字段,将所述优先级属性最高的BaseURL字段对应的服务节点作为待下载媒体分片所在的服务节点。
在本实施方式中,先确定各个BaseURL字段的字段属性是否包含有优先级属性,然后对包含有优先级属性的字段优先进行考虑,具体地,在链表中对包含有优先级属性的各个BaseURL字段进行排序,排序的方式按照优先级属性从高到低的顺序进行排列,然后,从所述链表中提取出优先级属性最高的BaseURL字段,将所述优先级属性最高的BaseURL字段对应的服务节点作为待下载媒体分片所在的服务节点。
在本实施方式中,相当于是BaseURL字段存在优先级属性的情况下,优先在有优先级属性的BaseURL字段中确定待下载媒体分片所在的服务节点,若能找出优先级属性最高的BaseURL字段,且只找出一个BaseURL字段,后续即可在该BaseURL字段对应的服务节点中下载媒体分片。
2)方式二、参照图4,所述步骤S20包括:
步骤S23,在字段属性中未包含优先级属性时,按照权重值属性的值以及预设随机变量函数,确定匹配区间;
步骤S24,根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点。
具体地,参照图5,所述步骤S23包括:
步骤S231,调用预设随机变量函数产生随机数;
步骤S232,按照权重值属性的值以及所述随机变量函数,确定所述至少两个字段所在的区间;
步骤S233,将所述随机数位于的区间作为匹配区间。
为更好理解本实施例,举例如下:若当前优先级属性最高的BaseURL字段包括三个字段,三个字段对应的权重值属性的值分别为10、30、60,此时,对三个值求和得到总值100,将该总值100作为随机函数的X-U[a,b]区间,其中a=0,b=total weight,即b=100。
根据随机变量函数,对三个字段划分区间,其中,X取值在区间[a,b]上,并且取值在[a,b]中任意小区间内的概率与这个小区间的长度成正比,则X具有【a,b】上的均匀分布,具体的计算公式如下:
Figure BDA0001329658550000101
若X~U[a,b],且(x1,x2)为[a,b]的任意子区间,则:
Figure BDA0001329658550000111
当字段的权重值属性的值为10时,P(x)为10%,由于(公式2)中,a为0、b为100、x1为0,可计算出x2为10,因此,权重值属性的值为10的BaseURL字段所在的区间就为(0,10)。
同理,当字段的权重值属性的值为30时,P(x)为30%,区间起点为10,即此时代入公式中的x1为10,a和b的值保持不变,因此代入(公式2)中,可得到x2为40,因此,权重值属性的值为30的BaseURL字段所在的区间就为(10,40)。
同理,当字段的权重值属性的值为60时,P(x)为60%,区间起点为40,即此时代入公式中的x1为40,a和b的值保持不变,因此代入(公式2)中,可得到x2为100,因此,权重值属性的值为60的BaseURL字段所在的区间就为(40,100)。
因此,可知三个BaseURL字段的区间分别为(0,10)、(10,40)和(40,100)。确定了三个BaseURL字段所在的区间之后,再根据系统调用所述随机变量函数产生的随机数,确定当前待下载媒体分片所在的服务节点,若该随机数落在(0,10)区间,那么当前待下载媒体分片所在的服务节点就是权重值属性的值为10的BaseURL字段所在的服务节点,其它各种情况同理,此处不再赘述。
在本实施方式中,相当于是各个BaseURL都不存在优先级属性时,此时仅考虑各个BaseURL的权重值属性即可,并根据权重值属性确定待下载媒体分片的服务节点,后续直接在确定的服务节点中下载媒体分片。
3)方式三、所述步骤S22之后,所述步骤S20还包括:
步骤A,在优先级属性最高的BaseURL字段包括至少两个字段时,确定所述至少两个字段对应的服务节点的权重值属性;
步骤B,按照权重值属性的值以及预设随机变量函数,确定匹配区间;
步骤C,根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点。
在本实施方式中,在优先级属性最高的BaseURL字段包括两个或两个以上字段时,先确定该至少两个字段对应的服务节点的权重值属性的值,然后再获取系统预设的随机变量函数,根据权重值属性的值和该随机变量函数,确定匹配区间,最终根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点,具体的方式在上述方式二中详述,此处不进行赘述。
在本实施方式中,相当于是优先级属性最高的BaseURL字段包括多个字段时,进一步地分析这几个字段的权重值属性,根据权重值属性确定待下载媒体分片的服务节点,后续直接在确定的服务节点中下载媒体分片。此外,这种方式选取BaseURL可以保证每台DASN终端访问服务节点的概率与权重值属性匹配,且不会互相影响。
在本实施例中,当链表中包含的BaseURL包括多个时,需要先进行判断,并根据判断结果执行上文对应的任一个实施方式。应当理解的是,在链表中的BaseURL只有一个时,说明DASH终端只能从一个服务节点中下载媒体分片,那么DASH终端即可在该服务节点中下载媒体分片即可。
步骤S30,若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载。
在本实施例中,媒体分片失败下载的情况包括:接收到因访问服务节点的BaseURL返回的网络错误信息,此时,说明可能发生Heavy server load(服务节点超负载),Missingsegments(分片缺失),Connection or packet transfer('socket')timeout(连接或发包传输超时)等非致命错误,导致DASH终端机断开连接。在服务节点中下载媒体分片失败时,取消该BaseURL字段的访问权项,然后在剩余的各个BaseURL字段中,根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载,服务节点的确定方式上文已经详述,此处不再赘述。
在本实施例中,所述进行媒体分片的下载的步骤包括:
步骤D,获取确定的所述服务节点对应的统一资源定位符URL;
步骤E,基于所述服务节点的URL和BaseURL进行媒体分片的下载。
在本实施例中,在根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点之后,再获取确定的服务节点对应的统一资源定位符URL,然后基于所述服务节点的URL和BaseURL进行媒体分片的下载。具体地:将服务节点的BaseURL与URL进行拼接,拼接方式优选为在URL后面添加BaseURL,最终将拼接后的URL作为媒体分片的下载源,并将拼接后的URL送入下载队列中,以启动下载媒体分片。
在本实施例中,当媒体分片下载成功后,将下载的数据推送到缓冲区中,以进行播放。若下载失败,从链表中剔除BaseURL,以添加到黑名单列表中。
本实施例提出的技术方案,终端先下载媒体描述文件,并对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段,然后查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载,即使有服务节点发生故障,终端也可以在其它服务节点中下载媒体分片,无须在同一个服务节点中重复请求,避免视频播放卡顿的情况发生,提高了视频播放的流畅度和稳定性。
可以理解,本发明实施例通过解析XML格式的MPD文件中的BaseURL字段属性(包括优先级、比重等),自动选择服务节点进行媒体分片下载的切换,在保证用户观看流畅性的基础上,提高播放稳定性,提高播放器对于网络抖动的鲁棒性(网络过载或有意攻击情况下,能否不死机、不崩溃)。
进一步地,参照图6,基于第一实施例提出本发明媒体分片的下载方法的第二实施例。
媒体分片的下载方法的第二实施例与媒体分片的下载方法的第一实施例的区别在于,所述媒体分片的下载方法还包括:
步骤S40,将下载媒体分片失败的服务节点对应的BaseURL添加到黑名单列表中;
步骤S50,确定所述BaseURL的属性,将所述媒体描述文件中与所述BaseURL相同属性的BaseURL都追加到所述黑名单列表中,以取消所述属性的各个BaseURL的访问权项。
在本实施例中,所述步骤S40至步骤S50可在步骤S30之后执行;也可以在执行“根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点”的同时,执行步骤S40至步骤S50;此外,还可以在确定的服务节点中下载媒体分片失败时,确定新的服务节点之前执行步骤S40至步骤S50,具体采用何种方式根据实际情况设定。
在本实施例中,对带有服务节点位置属性的BaseURL,假定当访问某个具体的baseURL值返回网络错误信息时,立刻将该BaseURL添加到黑名单列表中,并且把MPD文件中所有与该BaseUrl相同属性的BaseURL都追加到此黑名单列表,此时维护该黑名单列表blackList,对于在blacklist中的值,将不能进行访问。例如,当访问http://cdn2.example.com/period/"with@serviceLocation"B",http server返回错误值401,此时将avalible链表中的所有@serverLocation值为“B”的BaseURL全部追加到blacklist中。
在本实施例中,将访问失败的服务节点添加到黑名单列表,并在该视频的所有媒体分片播放过程中,都限制该服务节点的访问权限,以防止重复访问该服务节点造成的播放流畅度和稳定性降低。
需要说明的是,blackList存在内存中,只会影响该DASN终端机访问某个服务节点的权限,避免反复进行失败的请求。
进一步地,参照图7,基于第二实施例提出本发明媒体分片的下载方法的第三实施例。
媒体分片的下载方法的第三实施例与媒体分片的下载方法的第二实施例的区别在于,所述步骤S50之后,所述媒体分片的下载方法还包括:
步骤S60,在检测到所述媒体描述文件中所有服务节点的BaseURL都访问失败时,输出错误提示信息,以提示所述媒体描述文件的各个服务节点都不可用,并退出媒体播放。
在本实施例中,当最后一个baseURL访问仍然发生error,此时DASH终端机返回一个network error,并在预设区域输出错误提示信息,如在终端显示界面,或者应用界面输出错误提示信息,以提示所有媒体分片的各个服务节点都不可用,并退出媒体播放。
进一步地,所述方法还包括:
清除内存中存储的数据,清除黑名单列表中的数据。
本系统控制的核心就在于协调不同服务节点之间的负载均衡,最大限度避免Heavy server load,Missing segments,Connection or packet transfer('socket')timeout等非致命错误,导致DASH终端机断开连接,降低重连次数,降低同一个服务节点的访问量,最大限度保证每此时间分片能够正常下载,使得缓冲区数据维持在合理水平,实现媒体内容的流畅播放。
当某个媒体流文件有多个服务节点server时,DASH终端可以动态的按照server预设的比重去访问不同的server根据MPD文件中BaseURL中的priority/weight/serverLoaction三个属性,建立链表可访问的服务节点,当IPS(Internet ServerProvider,互联网接入服务商)服务商不稳定,访问某个server失败时候,动态的根据serverLoaction属性添加限制访问级别,添加至另外一个黑名单列表,将该CDN临时限制访问,当媒体流文件的时间片段流完,主动释放黑名单列表,因此在播放媒体流文件时可以使这个生产-消费系统在带宽、CPU、内存等输入因素综合作用下趋于稳定,并可在一定程度内克服网络抖动、操作系统调度等产生的扰动,本文采用动态查找,随时更新链表和黑名单列表,可以在保证速度的情况下,极大地提高系统资源使用效率;经过试验,DASH播放连接速度提高了70%左右,而稳定性提高了80%以上(retry次数限制在1次以内)。
即本发明的技术方案,在MATLAB仿真软件上进行仿真,当取样样本>1000时,画出的概率分布趋于重合,很好的证明了该策略的有效性,在电视上冒烟压测发现视频断开重连的网络错误类型降低70%以上,大大的提高了播放的流畅性和稳定性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有媒体分片的下载程序,所述媒体分片的下载程序被控制器执行时实现如以下操作:
下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;
查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;
若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载。
进一步地,所述执行对所述媒体描述文件进行解析的同时,所述媒体分片的下载程序被控制器执行时,还实现以下操作:
建立链表和黑名单列表;
所述查询各个BaseURL字段对应的字段属性的步骤之后,所述媒体分片的下载被控制器执行时,还实现以下操作:
将各个BaseURL字段对应的字段属性以及字段内容存储到所述链表中。
进一步地,所述字段属性包括优先级属性、权重值属性和/或服务节点位置属性,所述媒体分片的下载程序被控制器执行时,还实现根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的操作:
在字段属性中包含有优先级属性时,在所述链表中按照优先级属性的顺序对各个BaseURL字段进行排序;
提取出优先级属性最高的BaseURL字段,将所述优先级属性最高的BaseURL字段对应的服务节点作为待下载媒体分片所在的服务节点。
进一步地,所述媒体分片的下载程序被控制器执行时,还实现根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的操作:
在字段属性中未包含优先级属性时,按照权重值属性的值以及预设随机变量函数,确定匹配区间;
根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点。
进一步地,所述媒体分片的下载程序被控制器执行时,还实现按照权重值属性的值以及预设随机变量函数,确定匹配区间的操作:
调用预设随机变量函数产生随机数;
按照权重值属性的值以及所述随机变量函数,确定所述至少两个字段所在的区间;
将所述随机数位于的区间作为匹配区间。
进一步地,所述媒体分片的下载程序被控制器执行时,还实现进行媒体分片的下载的操作:
获取确定的所述服务节点对应的统一资源定位符URL;
基于所述服务节点的URL和BaseURL进行媒体分片的下载。
进一步地,所述媒体分片的下载程序被控制器执行时,还实现以下操作:
将下载媒体分片失败的服务节点对应的BaseURL添加到黑名单列表中;
确定所述BaseURL的属性,将所述媒体描述文件中与所述BaseURL相同属性的BaseURL都追加到所述黑名单列表中,以取消所述属性的各个BaseURL的访问权项。
进一步地,所述媒体分片的下载程序被控制器执行时,还实现以下操作:
在检测到所述媒体描述文件中所有服务节点的BaseURL都访问失败时,输出错误提示信息,以提示所述媒体描述文件的各个服务节点都不可用,并退出媒体播放。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种媒体分片的下载方法,其特征在于,应用于终端,所述媒体分片的下载方法包括:
下载媒体描述文件,对所述媒体描述文件进行解析以提取出各个服务节点的基础统一资源定位符BaseURL字段;
查询各个BaseURL字段对应的字段属性,并根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点;
若在确定的服务节点中下载媒体分片失败时,根据剩余的各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点,以进行媒体分片的下载;
其中,所述字段属性包括优先级属性、权重值属性和/或服务节点位置属性,所述根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的步骤包括:
在字段属性中包含有优先级属性时,在链表中按照优先级属性的顺序对各个BaseURL字段进行排序;
提取出优先级属性最高的BaseURL字段,将所述优先级属性最高的BaseURL字段对应的服务节点作为待下载媒体分片所在的服务节点。
2.如权利要求1所述的媒体分片的下载方法,其特征在于,所述执行对所述媒体描述文件进行解析的同时,执行以下步骤:
建立链表和黑名单列表;
所述查询各个BaseURL字段对应的字段属性的步骤之后,所述方法还包括:
将各个BaseURL字段对应的字段属性以及字段内容存储到所述链表中。
3.如权利要求1所述的媒体分片的下载方法,其特征在于,所述根据各个BaseURL字段对应的字段属性确定待下载媒体分片所在的服务节点的步骤还包括:
在字段属性中未包含优先级属性时,按照权重值属性的值以及预设随机变量函数,确定匹配区间;
根据所述匹配区间与服务节点的映射关系,确定所述匹配区间所在的服务节点,并将确定的服务节点作为待下载媒体分片所在的服务节点。
4.如权利要求3所述的媒体分片的下载方法,其特征在于,所述按照权重值属性的值以及预设随机变量函数,确定匹配区间的步骤包括:
调用预设随机变量函数产生随机数;
按照权重值属性的值以及所述随机变量函数,确定所述至少两个字段所在的区间;
将所述随机数位于的区间作为匹配区间。
5.如权利要求1所述的媒体分片的下载方法,其特征在于,所述进行媒体分片的下载的步骤包括:
获取确定的所述服务节点对应的统一资源定位符URL;
基于所述服务节点的URL和BaseURL进行媒体分片的下载。
6.如权利要求2所述的媒体分片的下载方法,其特征在于,所述方法还包括:
将下载媒体分片失败的服务节点对应的BaseURL添加到黑名单列表中;
确定所述BaseURL的属性,将所述媒体描述文件中与所述BaseURL相同属性的BaseURL都追加到所述黑名单列表中,以取消所述属性的各个BaseURL的访问权项。
7.如权利要求6所述的媒体分片的下载方法,其特征在于,所述方法还包括:
在检测到所述媒体描述文件中所有服务节点的BaseURL都访问失败时,输出错误提示信息,以提示所述媒体描述文件的各个服务节点都不可用,并退出媒体播放。
8.一种终端,其特征在于,所述终端包括存储器、解析器、控制器及存储在所述存储器上并可在所述控制器上运行的媒体分片的下载程序,所述媒体分片的下载程序被所述控制器执行时实现如权利要求1至7任一项所述的媒体分片的下载方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有媒体分片的下载程序,所述媒体分片的下载程序被控制器执行时实现如权利要求1至7任一项所述的媒体分片的下载方法的步骤。
CN201710486114.5A 2017-06-22 2017-06-22 媒体分片的下载方法、终端和计算机可读存储介质 Active CN107040615B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710486114.5A CN107040615B (zh) 2017-06-22 2017-06-22 媒体分片的下载方法、终端和计算机可读存储介质
PCT/CN2017/110796 WO2018233190A1 (zh) 2017-06-22 2017-11-14 媒体分片的下载方法、终端和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710486114.5A CN107040615B (zh) 2017-06-22 2017-06-22 媒体分片的下载方法、终端和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107040615A CN107040615A (zh) 2017-08-11
CN107040615B true CN107040615B (zh) 2021-07-02

Family

ID=59541383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710486114.5A Active CN107040615B (zh) 2017-06-22 2017-06-22 媒体分片的下载方法、终端和计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN107040615B (zh)
WO (1) WO2018233190A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040615B (zh) * 2017-06-22 2021-07-02 深圳Tcl数字技术有限公司 媒体分片的下载方法、终端和计算机可读存储介质
CN107682436A (zh) * 2017-10-09 2018-02-09 武汉斗鱼网络科技有限公司 一种更新文件的方法、装置和设备
CN110087109B (zh) * 2019-04-19 2020-09-29 中国科学院信息工程研究所 视频码率自适应方法、装置、电子设备及存储介质
CN112199340A (zh) * 2020-10-23 2021-01-08 深圳市欢太科技有限公司 一种多线程文件下载方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320679A (zh) * 2014-10-11 2015-01-28 中兴通讯股份有限公司 一种基于hls协议的用户信息获取方法和服务器
CN105100964A (zh) * 2015-07-07 2015-11-25 安一恒通(北京)科技有限公司 多媒体内容的处理方法、客户端及服务器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565533B2 (en) * 2002-11-05 2009-07-21 Sun Microsystems, Inc. Systems and methods for providing object integrity and dynamic permission grants
WO2012033319A2 (ko) * 2010-09-06 2012-03-15 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
KR102024600B1 (ko) * 2012-06-25 2019-09-24 엘지전자 주식회사 양방향 서비스를 처리하는 장치 및 방법
GB2512310A (en) * 2013-03-25 2014-10-01 Sony Corp Media Distribution
CN104219261A (zh) * 2013-05-30 2014-12-17 鸿富锦精密工业(深圳)有限公司 文件下载方法及系统
US9419845B2 (en) * 2013-06-27 2016-08-16 Cisco Technology, Inc. Dynamic content distribution network selection based on context from transient criteria
CN103763209A (zh) * 2014-01-03 2014-04-30 上海聚力传媒技术有限公司 一种cdn服务器的调度方法与装置
CN104702592B (zh) * 2015-01-08 2018-09-11 三星电子(中国)研发中心 流媒体下载方法和装置
US10652603B2 (en) * 2015-07-09 2020-05-12 Triton Us Vp Acquision Co. Transitioning between broadcast and unicast streams
CN105915945A (zh) * 2015-12-08 2016-08-31 乐视云计算有限公司 用于cdn平台的内容分发方法及调度代理服务器
CN107040615B (zh) * 2017-06-22 2021-07-02 深圳Tcl数字技术有限公司 媒体分片的下载方法、终端和计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320679A (zh) * 2014-10-11 2015-01-28 中兴通讯股份有限公司 一种基于hls协议的用户信息获取方法和服务器
CN105100964A (zh) * 2015-07-07 2015-11-25 安一恒通(北京)科技有限公司 多媒体内容的处理方法、客户端及服务器

Also Published As

Publication number Publication date
WO2018233190A1 (zh) 2018-12-27
CN107040615A (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
KR102262982B1 (ko) 라이브 스트림 슬라이싱 방법, 장치 및 시스템
CN106559677B (zh) 终端、缓存服务器及获取视频分片的方法及装置
CN107040615B (zh) 媒体分片的下载方法、终端和计算机可读存储介质
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
WO2017071228A1 (zh) 基于hls协议的直播方法、系统及客户端
US20170164020A1 (en) Content delivery method for content delivery network platform and scheduling proxy server
CN108124202B (zh) 一种使流媒体服务器支持hls协议的方法
US20140095593A1 (en) Method and apparatus for transmitting data file to client
EP3734927A1 (en) Content service implementation method and device, and content delivery network node
EP2798818A1 (en) Method and apparatus for flexible caching of delivered media
CN108933764B (zh) 一种实现快速起播的方法和装置
CN100559904C (zh) 用于连接到一种无线因特网服务的方法
CN110557689B (zh) 视频播放方法及装置
CN112468839B (zh) 直播内容的回放方法、系统、设备、及可读存储介质
US20130007863A1 (en) Streaming video to cellular phones
CN104581374A (zh) 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
CN111510789B (zh) 视频播放方法、系统、计算机设备及计算机可读存储介质
CN103116645A (zh) 移动设备浏览网页的方法及装置
WO2017202373A1 (zh) 流媒体快速启动方法、装置和系统
CN107615774B (zh) 接收装置、发送装置及数据处理方法
CN111741338A (zh) Hls流媒体播放方法、系统、设备及存储介质
EP3175599A1 (en) Systems and methods for selective transport accelerator operation
CN101958901B (zh) 一种基于长期演进的多媒体点播方法、系统和移动终端
CN111510790B (zh) 视频请求方法、系统、计算机设备及计算机可读存储介质
US20130151580A1 (en) Method, network unit and system for optimizing rendering of media content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant