CN110536145B - 直播时移处理方法、电子设备和存储介质 - Google Patents

直播时移处理方法、电子设备和存储介质 Download PDF

Info

Publication number
CN110536145B
CN110536145B CN201910755058.XA CN201910755058A CN110536145B CN 110536145 B CN110536145 B CN 110536145B CN 201910755058 A CN201910755058 A CN 201910755058A CN 110536145 B CN110536145 B CN 110536145B
Authority
CN
China
Prior art keywords
time
server
index file
file
cdn
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
CN201910755058.XA
Other languages
English (en)
Other versions
CN110536145A (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.)
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
MIGU Video Technology Co Ltd
Original Assignee
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
MIGU Video 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 Migu Cultural Technology Co Ltd, China Mobile Communications Group Co Ltd, MIGU Video Technology Co Ltd filed Critical Migu Cultural Technology Co Ltd
Priority to CN201910755058.XA priority Critical patent/CN110536145B/zh
Publication of CN110536145A publication Critical patent/CN110536145A/zh
Application granted granted Critical
Publication of CN110536145B publication Critical patent/CN110536145B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种直播时移处理方法、电子设备和存储介质,其中方法包括:确定时移相对时间;基于时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的索引文件;其中,索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,预设时长阈值使得客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应时移相对时间而发送的索引文件为同一索引文件。本发明实施例提供的方法、电子设备和存储介质,避免了索引文件乱序导致的卡顿问题,保障了直播时移服务质量,优化了用户体验。

Description

直播时移处理方法、电子设备和存储介质
技术领域
本发明涉及内容分发网络技术领域,尤其涉及一种直播时移处理方法、电子设备和存储介质。
背景技术
目前网络直播技术的实现大多基于HLS(HTTP Live Streaming,HTTP的流媒体网络传输)类直播协议,并且是以流媒体为对象,采用流式传输方式进行的。HLS类直播协议主要用于为用户终端提供音视频服务,该协议包括m3u8索引文件和TS(Transport Stream,传输流)媒体分片文件,其中m3u8索引文件为文件列表形式,用于提供对应TS媒体分片文件的索引链接。
图1为现有技术提供的直播时移场景示意图,如图1所示,客户端和流媒体源站之间通过CDN(Content Delivery Network,内容分发网络)连接,CDN具体包括各级CDN服务器和区域中心。针对任一客户端,在需要直播时移服务时,客户端发送包含相对时间的时移请求至CDN服务器,由CDN服务器将相对时间转换为绝对时间,进而得到对应的m3u8索引文件,并返回至客户端。
然而,由于CDN服务器之间存在服务器时间误差,不同的CDN服务器针对同一相对时间计算得到的绝对时间可能不同。上述情况下,如果客户端在接受直播时移服务的过程中发生CDN服务器切换,切换前后的CDN服务器之间的服务器时间误差,极可能导致客户端在从切换前的CDN服务器处接收到任一时间对应的m3u8索引文件后,又从切换后的CDN服务器处接收到该时间之前的时间对应的m3u8索引文件,由此导致客户端接收的m3u8索引文件的乱序,引起播放卡顿。
发明内容
本发明实施例提供一种直播时移处理方法、电子设备和存储介质,用以解决CDN服务器之间存在时间误差导致在切换CDN服务器时播放卡顿的问题。
第一方面,本发明实施例提供一种直播时移处理方法,包括:
确定时移相对时间;
基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的所述索引文件;
其中,所述索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,所述预设时长阈值使得客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应所述时移相对时间而发送的索引文件为同一所述索引文件。
优选地,所述预设时长阈值是基于如下步骤得到的:
基于多个CDN服务器间服务器时间的误差值,构建所述误差值的概率分布模型;
基于预先设定的置信水平,确定所述概率分布模型的置信区间;
基于所述置信区间,确定所述预设时长阈值。
优选地,所述预设时长阈值是服务器时差阈值的两倍,所述服务器时差阈值大于所述切换前后的两个CDN服务器之间的所述服务器时间的误差值。
优选地,所述基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的所述索引文件,具体包括:
基于所述时移相对时间、所述服务器时间和所述服务器时差阈值,确定第一缓存特征值;
从预先缓存的若干个所述待选索引文件中,选取第二缓存特征值与所述第一缓存特征值一致的所述索引文件,并发送选取的所述索引文件;其中,所述第二缓存特征值是基于所述索引文件中包含的索引文件生成时间和所述服务器时差阈值确定的。
优选地,所述基于所述时移相对时间、所述服务器时间和所述服务器时差阈值,确定第一缓存特征值,具体包括:
基于所述时移相对时间和所述服务器时间,确定时移绝对时间;
基于所述服务器时差阈值,对所述时移绝对时间进行修正,得到时移修正时间;
基于所述时移修正时间,确定第一缓存特征值。
优选地,还包括:
接收流媒体源站下发的所述索引文件;
基于所述服务器时差阈值,对所述索引文件中包含的所述索引文件生成时间进行修正,得到文件修正时间;
基于所述文件修正时间,确定所述索引文件对应的第二缓存特征值。
优选地,所述预设时长阈值为5秒。
优选地,通过NTP进行所述CDN服务器间的时间同步。
第二方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如第一方面所提供的方法的步骤。
第三方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的一种直播时移处理方法、电子设备和存储介质,通过预先限定索引文件中媒体分片文件的时长,确保在客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应时移相对时间而发送的索引文件为同一索引文件,有效避免了客户端索引文件乱序导致的卡顿问题,保障了直播时移服务质量,优化了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的直播时移场景示意图;
图2为本发明实施例提供的直播时移处理方法的流程示意图;
图3为本发明实施例提供的预设时长阈值的确定方法流程示意图;
图4为本发明实施例提供的CDN服务器的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当客户端在接受直播时移服务的过程中发生CDN服务器切换,由于切换前后的CDN服务器之间的服务器时间存在误差,极可能导致客户端在从切换前的CDN服务器处接收到任一时间对应的m3u8索引文件后,又从切换后的CDN服务器处接收到该时间之前的时间对应的m3u8索引文件,由此导致客户端接收的m3u8索引文件的乱序,引起播放卡顿。例如,当前时刻CDN服务器A的服务器时间为14:00,CDN服务器B的服务器时间为13:58,客户端正在接受来自CDN服务器A的时移相对时间为10分钟的直播时移服务,CDN服务器A向客户端传输索引文件生成时间为13:50的索引文件。此时,客户端从CDN服务器A切换至CDN服务器B,并向CDN服务器B发送时移相对时间为10分钟的直播时移请求,于是CDN服务器B向客户端返回索引生成时间为13:48的索引文件。因此,客户端先接收到13:50的索引文件,后接收到13:48的索引文件,索引文件发生乱序,导致已经播放的内容被重复播放,引发播放卡顿。针对这一问题,本发明实施例提供了一种直播时移处理方法,图2为本发明实施例提供的直播时移处理方法的流程示意图,如图2所示,该方法的执行主体可以为CDN服务器,该方法包括:
步骤210,确定时移相对时间。
具体地,客户端在接受直播时移服务的过程中,如果客户端与当前CDN服务器之间的网络质量较差,需要切换到网络质量较佳的CDN服务器,或者客户端在高速移动过程中从当前CDN服务器对应的服务区域移动到了另一CDN服务器对应的服务区域,或者其余原因触发CDN服务器的切换,则需要告知切换后的CDN服务器客户端直播时移服务的时移相对时间。此处,时移相对时间可以包含在由客户端发送给切换后的CDN服务器的直播时移请求或者其余与切换后的CDN服务器进行交互的信息中,以请求切换后的CDN服务器返回时移相对时间对应的索引文件。此处,索引文件即m3u8索引文件。直播时移请求中包含有时移相对时间,时移相对时间是当前时间与客户端要求回看的起始时间之间的时间差,例如当前时间为9:00,时移相对时间为20分钟,则客户端要求回看的起始时间为8:40,此处起始时间即绝对时间。
步骤220,基于时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的索引文件。
其中,索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,预设时长阈值使得客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应时移相对时间而发送的索引文件为同一索引文件。
具体地,服务器时间即CDN服务器的当前时间。针对任一CDN服务器,该CDN服务器中缓存有流媒体源站下发的若干个索引文件,时移相对时间和服务器时间的组合,与索引文件之间存在对应关系。在确定时移相对时间后,可以基于时移相对时间,以及该CDN服务器自身的服务器时间,从缓存的若干个待选取的索引文件中,选取与时移相对时间和服务器时间相对应的索引文件,并将该索引文件返回到客户端,以供客户端观看直播时移对应的视频。
然而,不同CDN服务器的服务器时间之间存在误差,同一时刻不同CDN服务器的服务器时间可能不同。在CDN服务器发生切换的场景下,切换前的后的两个CDN服务器基于相同的时移相对时间和不同的服务器时间选取的索引文件可能是不同的,如果切换后的CDN服务器发送的索引文件对应的时间在切换前的CDN服务器发送的索引文件对应的时间之前,则会导致客户端接收的m3u8索引文件的乱序,引起播放卡顿。
针对这一问题,预先对每一缓存的索引文件中包括的媒体分片文件列表中对应的各媒体分片文件的时长进行了限定。其中,媒体分片文件即TS媒体分片文件,限定媒体分片文件的时长大于等于预设时长阈值。此处,预设时长阈值是预先设定的媒体分片文件时长的最小值。通过限定媒体分片文件的时长,以抵消切换前后的两个CDN服务器之间的服务器时间误差,使得客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应时移相对时间而发送的索引文件为同一索引文件,避免由于切换后的CDN服务器发送的是切换前的CDN服务器发送的索引文件之前的索引文件导致的卡顿。
例如,设定预设时长阈值为5分钟,每一媒体分片文件的时长均大于等于5分钟,索引文件对应的索引文件生成时间的间隔大于等于5分钟。当前时刻CDN服务器A的服务器时间为14:00,CDN服务器B的服务器时间为13:58,客户端正在接受来自CDN服务器A的时移相对时间为10分钟的直播时移服务,CDN服务器A向客户端传输索引文件生成时间为13:50的索引文件。此时,客户端从CDN服务器A切换至CDN服务器B,CDN服务器B确定时移相对时间为10分钟,即CDN服务器B需要向客户端返回13:48对应的索引文件,而CDN服务器B缓存有文件生成时间为13:45和13:50的索引文件,索引文件生成时间为13:45的索引文件中必然不包含13:48的媒体分片文件,13:48对应的索引文件同样是索引文件生成时间为13:50的索引文件,故而CDN服务器B向客户端传输索引文件生成时间为13:50的索引文件,与CDN服务器A传输的索引文件相同,避免了索引文件乱序的情况。
本发明实施例提供的方法,通过预先限定索引文件中媒体分片文件的时长,确保在客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应时移相对时间而发送的索引文件为同一索引文件,有效避免了客户端索引文件乱序导致的卡顿问题,保障了直播时移服务质量,优化了用户体验。
此外,预先将索引文件缓存在CDN服务器,并在需要提供直播时移服务时,将时移相对时间对应的索引文件返回客户端,无需将时移相对时间回源到流媒体源站处理,减轻了流媒体源站的处理压力,解决了由于服务链路过程导致的直播时移服务首帧响应慢的问题,提升了直播时移服务的响应速度。
基于上述实施例,图3为本发明实施例提供的预设时长阈值的确定方法流程示意图,如图3所示,该方法中,预设时长阈值是基于如下步骤得到的:
步骤310,基于多个CDN服务器间服务器时间的误差值,构建误差值的概率分布模型。
此处,多个CDN服务器间服务器时间的误差值可以是当前CDN服务器与CDN网络中的其余多个CDN服务器间的服务器时间的误差值,也可以是CDN网络中多个CDN服务器间的服务器时间的误差值,本发明实施例对此不作具体限定。误差值的概率分布模型是通过统计多个误差值的分布概率得到的,此处的概率分布模型的类型由误差值的实际分布概率确定的,可以是正态分布模型,也可以是t分布模型或者其余类型的分布模型。
步骤320,基于预先设定的置信水平,确定概率分布模型的置信区间。
具体地,置信水平是预先设定的用于表征总体参数值落在样本统计值某一区间内的概率,置信区间即置信水平对应的样本统计量所构造的总体参数的估计区间。例如置信水平为95%,则CDN服务器间服务器时间的误差值有95的概率分布在置信区间内,例如95%对应的置信区间为(-3,3),即CDN服务器间服务器时间的误差值有95%的概率在超前3秒或滞后3秒之间。
步骤330,基于置信区间,确定预设时长阈值。
具体地,在得到置信区间之后,即可基于置信区间,确定预设时长阈值,例如将置信区间的长度直接作为预设时长阈值,又例如将置信区间的长度取整后作为预设时长阈值,本发明实施例对此不作具体限定。
本发明实施例提供的方法,通过构建误差值的概率分布模型,确定预设时长阈值,进而基于预设时长阈值限定媒体分片文件的时长,有利于避免客户端索引文件乱序导致的卡顿问题,保障直播时移服务质量。
基于上述任一实施例,该方法中,预设时长阈值是服务器时差阈值的两倍,服务器时差阈值大于切换前后的两个CDN服务器之间的服务器时间的误差值。
此处,服务器时差阈值可以是针对当前CDN服务器预先设定的,也可以是针对CDN网络中的每一CDN服务器预先设定的。当针对当前CDN服务器设定服务器时差阈值时,需要保证该服务器时差阈值大于当前CDN服务器与其余CDN服务器之间的服务器时间的误差值。当针对每一CDN服务器设定服务器时差阈值时,需要保证该服务器时差阈值大于任意两个CDN服务器之间的服务器时间的误差值。
在得到服务器时差阈值后,由于当前CDN服务器相对其余CDN服务器的服务器时间的误差值存在超前和滞后两种情况,将服务器时差阈值的两倍作为索引文件中媒体分片文件的时长最小值,即预设时长阈值。
本发明实施例提供的方法,基于服务器时差阈值确定预设时长阈值,进而基于预设时长阈值限定媒体分片文件的时长,有利于避免客户端索引文件乱序导致的卡顿问题,保障直播时移服务质量。
基于上述任一实施例,该方法中,步骤220具体包括:
步骤221,基于时移相对时间、服务器时间和服务器时差阈值,确定第一缓存特征值。
具体地,第一缓存特征值是时移相对时间、服务器时间和服务器时差阈值对应的特征值,第一缓存特征值与时移相对时间、服务器时间和服务器时差阈值之间存在映射关系。其中,服务器时差阈值可以用于对服务器时间进行修正,进而抵消切换前后的两个CDN服务器之间存在的服务器时间误差值,使得切换前后的两个CDN服务器基于时移相对时间、服务器时间和服务器时差阈值确定的第一缓存特征值相同。
步骤222,从预先缓存的若干个待选索引文件中,选取第二缓存特征值与第一缓存特征值一致的索引文件,并发送选取的索引文件;其中,第二缓存特征值是基于索引文件中包含的索引文件生成时间和服务器时差阈值确定的。
具体地,索引文件中包含有索引文件生成时间,索引文件生成时间的基准是流媒体源站侧的时间。同样地,流媒体源站侧的时间与任一CDN服务器的服务器时间之间也可能存在误差值,因而基于服务器时差阈值对索引文件生成时间进行修正,并在此基础上得到与索引文件生成时间和服务器时差阈值相对应的第二缓存特征值。此处,第二缓存特征值是索引文件对应的特征值。
任一CDN服务器侧均缓存有若干个待选的索引文件,每一索引文件中包含的索引文件生成时间均不相同,对应地每一索引文件对应的第二缓存特征值也不相同。从若干个待选的索引文件中选取索引文件,其依据是第一缓存特征,以及待选的索引文件对应的第二缓存特征值是否相匹配,即两者是否一致,如果一致,则选取该索引文件,将该索引文件发送至客户端。
本发明实施例提供的方法,分别基于服务器时差阈值确定第一缓存特征值和第二缓存特征值,以便于实现直播时移请求与索引文件之间的匹配,能够保证直播时移请求大范围命中缓存在CDN服务器中的索引文件,从而极大程度上减轻流媒体源站针对直播时移请求的计算压力。
基于上述任一实施例,该方法中,步骤221具体包括:基于时移相对时间和服务器时间,确定时移绝对时间;基于服务器时差阈值,对时移绝对时间进行修正,得到时移修正时间;基于时移修正时间,确定第一缓存特征值。
具体地,时移绝对时间=服务器时间-时移相对时间。在确定时移绝对时间后,可以基于服务器时差阈值对时移绝对时间进行修正,此处对时移绝对时间进行修正是为了抵消切换前后的两个CDN服务器之间存在的服务器时间误差值,时移修正时间即修正后的时移绝对时间。在得到时移修正时间后,确定时移修正时间对应的第一缓存特征值。
进一步地,步骤221可以通过如下公式实现:
Figure BDA0002168476190000091
式中,k(tb)为第一缓存特征值,ε为服务器时差阈值,tn为服务器时间,tb为时移相对时间,tn-tb为时移绝对时间,int()为向下取整函数,
Figure BDA0002168476190000092
为时移修正时间,hash()为哈希函数,用于实现时移修正时间与第一缓存特征值之间的映射。
基于上述任一实施例,该方法还包括:接收流媒体源站下发的索引文件;基于服务器时差阈值,对索引文件中包含的索引文件生成时间进行修正,得到文件修正时间;基于文件修正时间,确定索引文件对应的第二缓存特征值。
具体地,在接收到流媒体源站下发的索引文件后,可以基于服务器时差阈值对索引文件中包含的索引文件生成时间进行修正,此处对索引文件生成时间进行修正是为了抵消当前CDN服务器与流媒体源站之间的时间误差,文件修正时间即修正后的索引文件生成时间。在得到文件修正时间后,确定文件修正时间对应的第二缓存特征值。
进一步地,确定索引文件对应的第二缓存特征值可以通过如下公式实现:
Figure BDA0002168476190000101
式中,k(t)为第二缓存特征值,ε为服务器时差阈值,t为索引文件生成时间,int()为向下取整函数,
Figure BDA0002168476190000102
为文件修正时间,hash()为哈希函数,用于实现文件修正时间与第二缓存特征值之间的映射。
基于上述任一实施例,该方法中,预设时长阈值为5秒。
具体地,假设媒体分片文件的时长为a秒,CDN网络下CDN服务器之间的服务器时间的误差值为e秒,直播时移请求对应的时移绝对时间以秒为单位均匀分布在媒体分片文件的时长中,即匹配离散均匀分布,
Figure BDA0002168476190000103
x=1,2,…a,式中x为时移绝对时间映射在媒体分片文件中的位置,p(x,a)为分布在该位置的概率。服务器时间的误差值服从均值为0的连续一维正态分布,由此构建误差值的概率分布模型f(e)如下:
Figure BDA0002168476190000104
式中,σ为误差值e的标准差。按照经验95%的误差值不大于2秒,设定σ的取值为1,得到概率分布模型如下:
Figure BDA0002168476190000105
令置信水平为99%,则概率分布模型对应的置信区间为(-2.58σ,2.58σ)。当σ=1时,对应的置信区间(-2.58,2.58),置信区间的长度为5.16秒,对置信区间的长度进行取整,得到预设时长阈值为5秒。
基于上述任一实施例,该方法还包括:通过NTP进行CDN服务器间的时间同步。
NTP(Network Time Protocol,网络时间协议)可以实现CDN网络中各个CDN服务器之间的时间同步。通过定时对各个CND服务器进行时间同步,能够有效减小各个CDN服务器间的服务器时间的误差值。
基于上述任一实施例,该方法中,在确定置信水平为99%,则概率分布模型对应的置信区间为(-2.58σ,2.58σ)的情况下,可以将2.58σ作为服务器时差阈值,进而可以通过如下公式获取第一缓存特征值k(tb)和第二缓存特征值k(t):
Figure BDA0002168476190000111
Figure BDA0002168476190000112
基于上述任一实施例,该方法包括如下步骤:
CDN网络中的各个CDN服务器通过NTP(Network Time Protocol,网络时间协议)服务进行周期性时间同步。
统计各个CDN服务器间服务器时间的误差值,计算得到误差值的均值和方差,并由此构建误差值的正态分布模型。基于预先设定的置信水平,确定正态分布模型的置信区间,并将置信区间的长度取整,作为预设时长阈值,将预设时长阈值的一半作为服务器时差阈值,并限定在直播进程中,流媒体源站向CDN网络中的各个CDN服务器下发的媒体分片文件的时长大于等于预设时长阈值。
限定在直播进程中,流媒体源站向CDN网络中的各个CDN服务器下发索引文件。针对任一CDN服务器,该CDN服务器在接收到索引文件之后,除了将索引文件用于为客户端提供直播服务,还基于服务器时差阈值和索引文件中包含的索引文件生成时间,确定索引文件对应的第二缓存特征值,并将第二缓存特征值作为索引文件的key值缓存索引文件。
若接收到客户端发送的直播时移请求,则该CDN服务器从直播时移请求中提取时移相对时间,并基于时移相对时间、自身的服务器时间以及服务器时差阈值,确定直播时移请求对应的第一缓存特征值。
在得到第一缓存特征值之后,将第一缓存特征值与预先缓存的每一待选索引文件的第二缓存特征值进行匹配,选取与直播时移请求对应的索引文件,并返回至客户端,从而为客户端提供稳定的直播时移服务。
本发明实施例提供的方法,通过预先限定索引文件中媒体分片文件的时长,确保在客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应直播时移请求而返回的索引文件为同一索引文件,有效避免了客户端索引文件乱序导致的卡顿问题,保障了直播时移服务质量,优化了用户体验。
此外,分别基于服务器时差阈值确定第一缓存特征值和第二缓存特征值,以便于实现直播时移请求与索引文件之间的匹配,能够保证直播时移请求大范围命中缓存在CDN服务器中的索引文件,从而极大程度上减轻流媒体源站针对直播时移请求的计算压力。
基于上述任一实施例,该方法包括如下步骤:
统计CDN网络中各个CDN服务器间的服务器时间的误差值,确定95%的误差值不大于2秒,由此建立如下误差值的概率分布模型f(e)如下:
Figure BDA0002168476190000121
式中,e为误差值e。
令置信水平为99%,则概率分布模型对应的置信区间为(-2.58,2.58)。置信区间的长度为5.16秒,对置信区间的长度进行取整,得到预设时长阈值为5秒,将预设时长阈值的一半,即2.5秒作为服务器时差阈值,得到获取第一缓存特征值k(tb)和第二缓存特征值k(t)的公式如下:
Figure BDA0002168476190000122
Figure BDA0002168476190000123
假设CDN服务器A和CDN服务器B中缓存下表示出的索引文件:
Figure BDA0002168476190000124
Figure BDA0002168476190000131
直播时移请求A中的时移相对时间tb=10min,CDN服务器A和CDN服务器B的服务器时间tn分别为20:10:03和20:00:01。CDN服务器A和CDN服务器B针对直播时移请求A计算第一缓存特征值k(tb),得到的k(tb)均为hash(20:00:00),针对直播时移请求返回的索引文件均为索引文件A。
因此假设客户端在CDN服务器A和CDN服务器B之间切换,则CDN服务器A和CDN服务器B为相应直播时移请求返回的索引文件均为同一索引文件,能够避免索引文件乱序。
基于上述任一实施例,图4为本发明实施例提供的CDN服务器的结构示意图,如图4所示,CDN服务器包括相对时间确定单元410和索引文件发送单元420;
其中,相对时间确定单元410用于确定时移相对时间;
索引文件发送单元420用于基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的所述索引文件;
其中,所述索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,所述预设时长阈值使得所述客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应所述时移相对时间而发送的索引文件为同一所述索引文件。
本发明实施例提供的CDN服务器,通过预先限定索引文件中媒体分片文件的时长,确保在客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应时移相对时间而发送的索引文件为同一索引文件,有效避免了客户端索引文件乱序导致的卡顿问题,保障了直播时移服务质量,优化了用户体验。
基于上述任一实施例,CDN服务器还包括预设时长阈值确定单元;预设时长阈值确定单元用于:
基于多个CDN服务器间服务器时间的误差值,构建所述误差值的概率分布模型;
基于预先设定的置信水平,确定所述概率分布模型的置信区间;
基于所述置信区间,确定所述预设时长阈值。
基于上述任一实施例,CDN服务器中,所述预设时长阈值是服务器时差阈值的两倍,所述服务器时差阈值大于所述切换前后的两个CDN服务器之间的所述服务器时间的误差值。
基于上述任一实施例,CDN服务器中,索引文件发送单元420具体用于:
第一缓存特征值确定子单元,用于基于所述时移相对时间、服务器时间和服务器时差阈值,确定第一缓存特征值;
索引文件匹配子单元,用于从预先缓存的若干个所述待选索引文件中,选取第二缓存特征值与所述第一缓存特征值一致的所述索引文件,并发送选取的索引文件;其中,所述第二缓存特征值是基于所述索引文件中包含的索引文件生成时间和所述服务器时差阈值确定的。
基于上述任一实施例,CDN服务器中,第一缓存特征值确定子单元具体用于:
基于所述时移相对时间和所述服务器时间,确定时移绝对时间;
基于所述服务器时差阈值,对所述时移绝对时间进行修正,得到时移修正时间;
基于所述时移修正时间,确定第一缓存特征值。
基于上述任一实施例,CDN服务器还包括索引文件缓存单元;索引文件缓存单元用于:
接收流媒体源站下发的所述索引文件;
基于所述服务器时差阈值,对所述索引文件中包含的所述索引文件生成时间进行修正,得到文件修正时间;
基于所述文件修正时间,确定所述索引文件对应的第二缓存特征值。
基于上述任一实施例,CDN服务器中,所述预设时长阈值为5秒。
基于上述任一实施例,CDN服务器中,还包括同步单元;同步单元用于:
通过NTP服务进行所述CDN服务器间的时间同步。
图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储在存储器503上并可在处理器501上运行的计算机程序,以执行上述各实施例提供的直播时移处理方法,例如包括:确定时移相对时间;基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的索引文件;其中,所述索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,所述预设时长阈值使得所述客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应所述位移相对时间而发送的索引文件为同一所述索引文件。
此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的直播时移处理方法,例如包括:确定时移相对时间;基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的索引文件;其中,所述索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,所述预设时长阈值使得所述客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应所述位移相对时间而发送的索引文件为同一所述索引文件。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种直播时移处理方法,其特征在于,包括:
确定时移相对时间;
基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的索引文件;
其中,所述索引文件包括的媒体分片文件列表中对应的各媒体分片文件的时长大于等于预设时长阈值,所述预设时长阈值使得客户端在发生CDN服务器切换的过程中,切换前后的两个CDN服务器为响应所述时移相对时间而发送的索引文件为同一所述索引文件;所述预设时长阈值是基于如下步骤得到的:
基于多个CDN服务器间服务器时间的误差值,构建所述误差值的概率分布模型;
基于预先设定的置信水平,确定所述概率分布模型的置信区间;
基于所述置信区间,确定所述预设时长阈值。
2.根据权利要求1所述的直播时移处理方法,其特征在于,所述预设时长阈值是服务器时差阈值的两倍,所述服务器时差阈值大于所述切换前后的两个CDN服务器之间的所述服务器时间的误差值。
3.根据权利要求2所述的直播时移处理方法,其特征在于,所述基于所述时移相对时间和服务器时间,从预先缓存的若干个待选索引文件中,选取索引文件,并发送选取的索引文件,具体包括:
基于所述时移相对时间、所述服务器时间和所述服务器时差阈值,确定第一缓存特征值;
从预先缓存的若干个所述待选索引文件中,选取第二缓存特征值与所述第一缓存特征值一致的所述索引文件,并发送选取的索引文件;其中,所述第二缓存特征值是基于所述索引文件中包含的索引文件生成时间和所述服务器时差阈值确定的。
4.根据权利要求3所述的直播时移处理方法,其特征在于,所述基于所述时移相对时间、所述服务器时间和所述服务器时差阈值,确定第一缓存特征值,具体包括:
基于所述时移相对时间和所述服务器时间,确定时移绝对时间;
基于所述服务器时差阈值,对所述时移绝对时间进行修正,得到时移修正时间;
基于所述时移修正时间,确定所述第一缓存特征值。
5.根据权利要求3所述的直播时移处理方法,其特征在于,还包括:
接收流媒体源站下发的所述索引文件;
基于所述服务器时差阈值,对所述索引文件中包含的所述索引文件生成时间进行修正,得到文件修正时间;
基于所述文件修正时间,确定所述索引文件对应的第二缓存特征值。
6.根据权利要求2所述的直播时移处理方法,其特征在于,所述预设时长阈值为5秒。
7.根据权利要求1所述的直播时移处理方法,其特征在于,还包括:
通过NTP进行所述CDN服务器间的时间同步。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的直播时移处理方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7中任一项所述的直播时移处理方法的步骤。
CN201910755058.XA 2019-08-15 2019-08-15 直播时移处理方法、电子设备和存储介质 Active CN110536145B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910755058.XA CN110536145B (zh) 2019-08-15 2019-08-15 直播时移处理方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910755058.XA CN110536145B (zh) 2019-08-15 2019-08-15 直播时移处理方法、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110536145A CN110536145A (zh) 2019-12-03
CN110536145B true CN110536145B (zh) 2022-03-25

Family

ID=68663595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910755058.XA Active CN110536145B (zh) 2019-08-15 2019-08-15 直播时移处理方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110536145B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114845132B (zh) * 2022-04-29 2023-05-12 厦门理工学院 基于哈希算法的低延迟直播缓存方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025614A1 (zh) * 2008-09-05 2010-03-11 中兴通讯股份有限公司 一种分片存储实现媒体分发、定位的方法及其流媒体系统
CN103517157A (zh) * 2013-09-27 2014-01-15 武汉市烽视威科技有限公司 实现hls频道时移播放的方法及系统
CN103581693A (zh) * 2013-11-12 2014-02-12 北京清源新创科技有限公司 面向互联网的基于分片传输的大尺度直播时移方法及系统
WO2017080428A1 (zh) * 2015-11-10 2017-05-18 中兴通讯股份有限公司 流媒体频道录制、回看方法、装置、服务器及存储介质
CN109040769A (zh) * 2018-08-22 2018-12-18 广东省南方数字电视无线传播有限公司 基于hls协议的直播时移方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124672B2 (en) * 2012-11-08 2015-09-01 Morega Systems, Inc Adaptive video server with data rate control and methods for use therewith
US10771843B2 (en) * 2015-12-15 2020-09-08 Telefonaktiebolaget Lm Ericsson (Publ) Media distribution with sample variants for normalized encryption
CN106572358B (zh) * 2016-11-11 2022-03-08 青岛海信宽带多媒体技术有限公司 一种直播时移方法及客户端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010025614A1 (zh) * 2008-09-05 2010-03-11 中兴通讯股份有限公司 一种分片存储实现媒体分发、定位的方法及其流媒体系统
CN103517157A (zh) * 2013-09-27 2014-01-15 武汉市烽视威科技有限公司 实现hls频道时移播放的方法及系统
CN103581693A (zh) * 2013-11-12 2014-02-12 北京清源新创科技有限公司 面向互联网的基于分片传输的大尺度直播时移方法及系统
WO2017080428A1 (zh) * 2015-11-10 2017-05-18 中兴通讯股份有限公司 流媒体频道录制、回看方法、装置、服务器及存储介质
CN109040769A (zh) * 2018-08-22 2018-12-18 广东省南方数字电视无线传播有限公司 基于hls协议的直播时移方法及装置

Also Published As

Publication number Publication date
CN110536145A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
US20150200992A1 (en) Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US10939178B2 (en) Media streaming with latency minimization
US10764610B2 (en) Media user client, a media user agent and respective methods performed thereby for providing media from a media server to the media user client
US20180227648A1 (en) Method for live broadcast based on hls protocol and electronic device
CN110022482B (zh) 视频起播方法、视频服务系统及存储介质
US20160330500A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
US20170238040A1 (en) Method, computer program product and server for streaming media content from a server to a client
CN112738548B (zh) 一种流媒体调度方法、装置、设备及存储介质
CN108881931B (zh) 一种数据缓冲方法及网络设备
CN110809167B (zh) 一种视频播放方法、装置、电子设备及存储介质
WO2015120766A1 (zh) 一种视频优化系统及方法
US10116763B2 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
CN107920072B (zh) 一种基于数据特征的多媒体共享方法及系统
CN110536145B (zh) 直播时移处理方法、电子设备和存储介质
JP2023522895A (ja) オーディオ及び/又はビデオコンテンツ配信のための方法及びサーバ
US20140282788A1 (en) System for controlling video distribution in response to a request on reduced video data traffic and a method therefor
CN112383791B (zh) 一种媒体数据处理方法、装置、电子设备和存储介质
CN107645475B (zh) 异质网络中的文件资源分发系统与方法
CN112672227B (zh) 基于边缘节点的业务处理方法、装置、节点以及存储介质
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
WO2015104149A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
JP2016134845A (ja) 映像配信システム、及び映像配信方法
WO2015104145A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
CN116939319A (zh) 分片选择、传输方法、终端、网络设备及可读存储介质
CN115834925A (zh) 一种视频转码方法、装置、设备及介质

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