CN103248912B - 网络电视时移播放方法、网络电视***和装置 - Google Patents
网络电视时移播放方法、网络电视***和装置 Download PDFInfo
- Publication number
- CN103248912B CN103248912B CN201210027270.2A CN201210027270A CN103248912B CN 103248912 B CN103248912 B CN 103248912B CN 201210027270 A CN201210027270 A CN 201210027270A CN 103248912 B CN103248912 B CN 103248912B
- Authority
- CN
- China
- Prior art keywords
- burst
- time
- playlist
- player
- time shift
- 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
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种网络电视时移播放方法、网络电视***和装置。代理播放装置从时移服务器获取时移播放列表,从直播服务器获取直播播放列表,根据时移播放列表和直播播放列表,生成当前时移窗口播放列表,向播放器提供当前时移窗口播放列表,以供播放器在当前时移窗口播放列表中选择定位分片,当定位分片属于直播分片时,代理播放装置从直播服务器获取从定位分片起的直播分片并转发给播放器,当定位分片属于时移分片时,代理播放装置从时移服务器获取从定位分片起的时移分片并转发给播放器。采用本发明提供的一种网络电视时移播放方法、网络电视***和装置,能够提高时移播放效率。
Description
技术领域
本发明涉及视频播放技术,尤其涉及一种网络电视时移播放方法、网络电视***和装置。
背景技术
随着宽带网络和视频网站的普及,网络电视(简称WebTV)技术的应用越来越广泛。WebTV采用基于超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)技术的HTTP动态码率自适应(HTTP Live Streaming,简称HLS)协议。
在现有的HLS协议中,进行视频直播的方法为:播放器使用统一资源定位符(Uniform Resource Locator,简称URL)向媒体服务器请求播放列表,媒体服务器根据该URL向播放器返回播放列表。该播放列表包括媒体文件的按照时间顺序排列的3个分片的列表。根据上述现有的HLS协议,视频时移播放的方法包括以下两种。方法一:用户每次进入直播操作、时移操作或定位操作都重新初始化播放器,每次初始化后,为该播放器设置新的URL,媒体服务器向播放器返回该URL指定的包括3个分片的播放列表。方法二:在每一次播放器向媒体服务器请求播放列表时,媒体服务器根据所需的时移长度将自身存储的分片组成播放列表,在每一次向播放器提供播放列表时,媒体服务器直接向播放器返回当前最新的播放列表,每一次返回的播放列表中均包括从该次的当前时刻起时间长度为所需时移长度的全部分片。
采用上述方法一时,用户每次进入直播操作、时移操作或定位操作都必须重新初始化播放器,导致该方法过程复杂,初始化时间长,并且由于初始化过程中导致黑屏,因此采用方法一会频繁地出现黑屏现象,从而导致时移播放过程的效率低、效果差。采用上述方法二时,原HLS协议中每个分片的长度通常为10秒,播放器按照分片长度的时间间隔定时从媒体服务器获取最新的播放列表,现有的HLS协议无法对直播播放状态和时移播放状态进行区分,媒体服务器向播放器返回完整的时移长度的播放列表,而对于时移播放过程,时移长度通常为1-2小时,因此该方法对播放列表中包括的分片个数扩大了几百倍,从而极大地消耗了用户的带宽,造成用户的播放带宽不足,从而导致时移播放过程的效率低、效果差。
发明内容
本发明的第一个方面是提供一种网络电视时移播放方法,用以解决现有技术中的缺陷,提高时移播放效率。
本发明的另一个方面是提供一种网络电视***,用以解决现有技术中的缺陷,提高时移播放效率。
本发明的又一个方面是提供一种播放代理装置,用以解决现有技术中的缺陷,提高时移播放效率。
本发明的又一个方面是提供一种时移服务器,用以解决现有技术中的缺陷,提高时移播放效率。
本发明的第一个方面是提供一种网络电视时移播放方法,包括:
从时移服务器获取时移播放列表,从直播服务器获取直播播放列表;
根据所述时移播放列表和所述直播播放列表,生成当前时移窗口播放列表;
向播放器提供所述当前时移窗口播放列表,以供所述播放器在所述当前时移窗口播放列表中选择定位分片;
当所述定位分片属于直播分片时,从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器;
当所述定位分片属于时移分片时,从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器。
本发明的另一个方面是提供一种网络电视***,包括:
时移服务器,用于向播放代理装置提供时移播放列表和时移分片;
直播服务器,用于向播放代理装置提供直播播放列表和直播分片;
播放代理装置,用于根据所述时移播放列表和所述直播播放列表生成当前时移窗口播放列表并提供给播放器;当所述播放器选择的定位分片属于直播分片时,从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器;当所述播放器选择的定位分片属于时移分片时,从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器;
播放器,用于在所述当前时移窗口播放列表中选择定位分片,获取所述播放代理装置转发的直播分片或时移分片。本发明的又一个方面是提供一种播放代理装置,包括:
第一交互单元,用于从时移服务器获取时移播放列表并从直播服务器获取直播播放列表;
播放列表生成单元,用于根据所述时移播放列表和所述直播播放列表,生成当前时移窗口播放列表;
第二交互单元,用于向播放器提供所述当前时移窗口播放列表,以供所述播放器在所述当前时移窗口播放列表中选择定位分片;
分片转发单元,用于当所述定位分片属于直播分片时从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器,当所述定位分片属于时移分片时从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器。
本发明的又一个方面是提供一种时移服务器,包括:
播放列表提供单元,用于向播放代理装置提供时移播放列表,以使播放代理装置生成当前时移窗口播放列表并提供给播放器,以供播放器从所述当前时移窗口播放列表中选择定位分片;
分片提供单元,用于当播放器选择的定位分片属于时移分片时,向所述播放代理装置提供从定位分片起的时移分片,以使所述播放代理装置向播放器转发所述时移分片。
本发明一个方面的技术效果是:在上述网络电视时移播放方法中,当需要进行时移业务时,从时移服务器获取时移播放列表,将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,从而提高时移播放效率。
本发明另一个方面的技术效果是:在上述网络电视***中,播放代理装置从时移服务器获取时移播放列表并将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,从能够提高时移播放效率。
本发明又一个方面的技术效果是:采用上述播放代理装置,第一交互单元从时移服务器获取时移播放列表,播放列表生成单元将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,第二交互单元向播放器提供当前时移窗口播放列表并获取播放器根据该当前时移窗口播放列表选择的定位分片,从而能够提高时移播放效率。
本发明又一个方面的技术效果是:在上述时移播放器中,播放列表提供单元向播放代理装置提供时移播放列表,以便播放代理装置将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,分片提供单元向播放代理装置提供时移分片,从而能够提高时移播放效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的网络电视时移播放方法的流程图;
图2为本发明实施例二的网络电视时移播放方法的信令流程图;
图3为本发明实施例三的网络电视***的结构示意图;
图4为本发明实施例四的播放代理装置的结构示意图;
图5为本发明实施例五的时移服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的网络电视***由位于终端侧的播放器和位于网络侧的直播服务器组成。在本发明的下述各实施例中,在现有的网络电视***中增加播放代理装置和时移服务器。其中,播放代理装置位于终端侧,用于代理播放器与直播服务器和时移服务器之间的信息交互。时移服务器位于网络侧,用于对直播内容进行录制并存储,提供时移服务。直播服务器仅用于提供直播服务,不对直播内容进行录制和存储。
图1为本发明实施例一的网络电视时移播放方法的流程图。如图1所示,该方法包括如下过程。
步骤101:播放代理装置从时移服务器获取时移播放列表,从直播服务器获取直播播放列表。
步骤102:播放代理装置根据时移播放列表和直播播放列表,生成当前时移窗口播放列表。其中,该时移窗口播放列表包括时移窗口的时间长度对应的分片的列表,以供播放器获取使用。
步骤103:播放代理装置向播放器提供当前时移窗口播放列表,以供播放器在当前时移窗口播放列表中选择定位分片。
步骤104:当定位分片属于直播分片时,播放代理装置从直播服务器获取从定位分片起的直播分片并转发给所述播放器;当定位分片属于时移分片时,播放代理装置从时移服务器获取从定位分片起的时移分片并转发给播放器。
在本发明实施例一中,当需要进行时移业务时,从时移服务器获取时移播放列表,将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,从而既不必重复初始化播放器,也不必在每次直播播放列表中增加分片个数,因此能够提高时移播放效率。
图2为本发明实施例二的网络电视时移播放方法的信令流程图。如图2所示,该方法包括如下过程。
播放代理装置从直播服务器获取媒体索引文件,具体地,包括步骤201和步骤202。
步骤201:播放代理装置向直播服务器发送媒体索引文件请求消息。
步骤202:直播服务器向播放代理装置返回媒体索引文件。
在本步骤中,直播服务器获得媒体索引文件(例如index.m3u8文件),以便在后续步骤中,当播放器发起对于媒体索引文件的请求时,将该媒体索引文件发送给播放器。该媒体索引文件用于指示直播服务器在当前频道支持的各种码率。
播放代理装置从时移服务器获取时移播放列表,具体地,包括步骤203和步骤204。
步骤203:播放代理装置向时移服务器发送时移播放列表请求消息。
步骤204:时移服务器向播放代理装置返回时移播放列表。
在本步骤中,该时移播放列表中包括时移窗口的时间长度对应的分片的列表。在本发明实施例二中,以每个分片的时间长度为10秒为例,以第200号分片表示某个视频节目在8时开始的分片,则第201号分片为8时又10秒开始的分片。以当前时间为10时,时移窗口的时间长度为2小时为例。则在此情况下,时移窗口为8时到10时,时移服务器向播放代理装置返回的时移播放列表为从8时到10时对应的分片的列表,即第200号至第919号分片。
播放代理装置从直播服务器获取直播播放列表,具体地,包括步骤205和步骤206。
播放代理装置从时移服务器获取时移播放列表与播放代理装置从直播服务器获取直播播放列表的执行顺序不受限制。在本发明实施例二中,仅以播放代理装置先从时移服务器获取时移播放列表,然后再从直播服务器获取直播播放列表为例予以说明,在其它的具体实施方式中,也可以先从直播服务器获取直播播放列表,然后再从时移服务器获取时移播放列表,或者同时从直播服务器获取直播播放列表并从时移服务器获取时移播放列表。
步骤205:播放代理装置向直播服务器发送直播播放列表请求消息。
在本步骤中,以播放代理装置于10时又10秒向直播服务器发送直播播放列表请求消息。
步骤206:直播服务器向播放代理装置返回直播播放列表。
在本步骤中,该直播播放列表中包括预设个数的分片的列表。在本发明实施例二中,以上述预设个数为3个为例,直播播放列表中包括时间最新的3个分片。由于步骤205中,播放代理装置于10时又10秒向直播服务器发送直播播放列表请求消息,则在步骤206中,直播服务器返回的直播播放列表为包括第918号、第919号和第920号分片的列表。
步骤207:播放代理装置根据直播播放列表和时移播放列表,生成当前时移窗口播放列表。
在本步骤中,生成当前时移窗口播放列表的具体方法为:首先,播放代理装置按照时间顺序拼接时移播放列表和直播播放列表,然后,播放代理装置从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,以此时的总播放列表作为当前时移窗口播放列表。具体地,仍以时移播放列表为第200号至第919号分片的列表,且直播播放列表为第918号、第919号和第920号分片的列表为例,首先,播放代理装置按照时间顺序拼接时移播放列表和直播播放列表,拼接后获得的总播放列表为第200号至第920号分片的列表,然后,播放代理装置从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,在上述具体实例中,时移窗口的时间长度为2小时,拼接后获得的总播放列表中,从第200号至第920号分片,比时移窗口的时间长度超出了1个分片,因此按照时间由旧到新的顺序,从第200号至第920号分片中删除最旧的1个分片,即删除第200号分片,最终获得当前时移窗口播放列表为包括第201号至第920号分片的播放列表。
具体地,在确定当前时移窗口播放列表中包括的分片之后,修改该当前时移窗口播放列表的起始分片序号,将该序号修改为确定包括在当前时移窗口播放列表中的时间最旧的分片的序号。如果该起始分片自身没有密钥参数,则根据按照由旧到新的顺序排序时该起始分片的前一个分片,即最后一个删除的分片,将该分片的密钥参数复制给起始分片。例如,在上述具体实例中,当前时移窗口播放列表为包括第201号至第920号分片的播放列表,则起始分片为第201号分片,将当前时移窗口播放列表的起始分片序号修改为201。以第201号分片自身没有密钥参数、第200号分片具有密钥参数为例,在此情况下,因为第200号分片被删除,第201号分片作为第一个分片,则将第200号分片的密钥参数复制给第201号分片。
然后,播放代理装置向播放器提供媒体索引文件,具体地,包括步骤208和步骤209。
步骤208:播放器向播放代理装置发送媒体索引文件请求消息。
步骤209:播放代理装置向播放器返回媒体索引文件。
在本步骤中,播放代理装置向播放器返回播放代理装置在步骤202中获取的媒体索引文件,以供播放器根据该媒体索引文件确定播放码率。具体地,播放器根据该媒体索引文件(例如index.m3u8文件)能够获得直播服务器在当前频道支持的各种码率,从而播放器可以根据该媒体索引文件,从支持的各种码率中确定自身的播放码率,在确定播放码率时,播放器可以参考自身的实际带宽能力进行选择。
然后,播放代理装置向播放器提供当前时移窗口播放列表,以供播放器在当前时移窗口播放列表中选择定位分片,具体地,包括步骤210至步骤212。
步骤210:播放器向播放代理装置发送播放列表请求消息。
步骤211:播放代理装置向播放器返回当前时移窗口播放列表。
在本步骤中,在上述具体实例中,播放代理装置向播放器返回的当前时移窗口播放列表为包括第201号至第920号分片的播放列表。
步骤212:播放器在当前时移窗口播放列表中选择定位分片,向播放代理装置发送定位分片请求消息。
在本步骤中,播放器根据当前时移窗口播放列表进行选择,从该表中选择定位分片。在上述具体实例中,播放器从第201号至第920号分片中选择一个作为定位分片。
步骤213:播放代理装置判断定位分片是否属于当前时移窗口播放列表中时间最新的预设个数的分片。
在本步骤中,该预设个数为直播播放列表中包括的分片的个数。如果判断为是,则该定位分片属于直播分片,在步骤213之后执行步骤214。在本步骤中,如果判断为否,则该定位分片属于时移分片,在步骤213之后执行步骤215。在上述具体实例中,仍以预设个数为3个为例,定位分片是播放器从第201号至第920号分片中选择的。如果该定位分片属于时间最新的3个分片,例如该定位分片为第920号分片、第919号分片或第918号分片,则该定位分片属于直播分片。如果该定位分片不属于时间最新的3个分片,例如该定位分片为第201号分片至第917号分片中的任意一个,则该定位分片属于时移分片。
步骤214:播放代理装置从直播服务器获取从定位分片起的直播分片。
在步骤214之后,执行步骤216。
步骤215:播放代理装置从时移服务器获取从定位分片起的时移分片。
在步骤215之后,执行步骤216。
步骤216:播放代理装置向播放器转发分片。
在本步骤中,具体地,播放代理装置向播放器转发步骤214中从直播服务器获取的直播分片或步骤215中从时移服务器获取的时移分片。在转发过程中,播放代理装置采用逐包转发的方式,不对获取的直播分片或者时移分片进行任何的缓冲操作,从而避免缓冲操作造成的播放器本地带宽计算错误,进一步提高时移播放效率和准确性。
上述步骤201至步骤216对初次进行时移播放的处理过程进行了介绍。其中,在步骤207中,播放代理装置根据直播播放列表和时移播放列表生成当前时移窗口播放列表之后,对初次时移播放过程中生成的该当前时移窗口播放列表进行存储。在完成初次时移播放过程之后,后续再次进行时移播放时,播放代理装置可以不必再次获取时移播放列表,而仅获取新的直播播放列表,将新的直播播放列表与存储的当前时移窗口播放列表进行拼接,形成新的当前时移窗口播放列表并对存储的当前时移窗口播放列表进行更新。
具体地,在步骤216之后,再次进行时移播放的具体过程包括:
步骤217:播放代理装置向直播服务器发送直播播放列表请求消息。
步骤218:直播服务器向播放代理装置返回新的直播播放列表。
步骤219:播放代理装置根据新的直播播放列表和存储的当前时移窗口播放列表,生成新的当前时移窗口播放列表,并更新存储的当前时移窗口播放列表。
在本步骤中,生成新的当前时移窗口播放列表的具体方法为:首先,播放代理装置按照时间顺序拼接存储的当前时移窗口播放列表和直播播放列表,然后,播放代理装置从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,以此时的总播放列表作为新的当前时移窗口播放列表。
在播放代理装置生成新的当前时移窗口播放列表之后,播放代理装置将存储的当前时移窗口播放列表更新为生成的新的当前时移窗口播放列表。
步骤220:播放器向播放代理装置发送播放列表请求消息。
步骤221:播放代理装置向播放器返回新的当前时移窗口播放列表。
步骤222:播放器在新的当前时移窗口播放列表中选择定位分片,向播放代理装置发送定位分片请求消息。
步骤223:播放代理装置判断定位分片是否属于新的当前时移窗口播放列表中时间最新的预设个数的分片。
如果判断为是,则该定位分片属于直播分片,在步骤223之后执行步骤224。在本步骤中,如果判断为否,则该定位分片属于时移分片,在步骤223之后执行步骤225。
步骤224:播放代理装置从直播服务器获取从定位分片起的直播分片。
在步骤224之后,执行步骤226。
步骤225:播放代理装置从时移服务器获取从定位分片起的时移分片。
在步骤225之后,执行步骤226。
步骤226:播放代理装置向播放器转发分片。
在本发明实施例二中,当初次需要进行时移业务时,播放代理装置从时移服务器获取时移播放列表,将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,播放代理装置根据定位分片的位置,从时移服务器获取时移分片或从直播服务器获取直播分片,从而既不必重复初始化播放器,也不必在每次直播播放列表中增加分片个数,因此能够提高时移播放效率。并且,对初次生成的当前时移窗口播放列表进行存储,当再次需要进行时移业务时,仅从直播服务器获取新的直播播放列表,根据新的直播播放列表和存储的当前时移窗口播放列表生成新的当前时移窗口播放列表,而不必重复获取时移播放列表,处理方式简单易行,因此能够进一步提高时移播放效率。并且,通过分别设置时移服务器和直播服务器,从而不必对现有的直播服务器进行修改,通过设置播放代理装置,从而不必对播放器进行修改,并且上述播放代理装置与上述时移服务器、直播服务器和播放器的交互过程符合现有网络电视***采用的标准协议,从而能够兼容现有的网络侧和终端侧设备,并且可以灵活简便地应用于不同认证机构(Certification Authority,简称CA)厂商或内容分发网络(Content DeliveryNetwork,简称CDN)厂商的产品。
在上述本发明实施例一和本发明实施例二中,对于使用安装在计算机上的浏览器实现网络电视业务的情况,上述播放代理装置可以作为该浏览器的一个插件来实现;对于使用安装在智能手机上的应用程序实现网络电视业务的情况,例如用户使用ipad、iphone、android***的手机使用网络电视业务时,上述播放代理装置可以作为一个应用程序实现。
图3为本发明实施例三的网络电视***的结构示意图。如图3所示,该***包括:时移服务器31、直播服务器32、播放代理装置33和播放器34。
其中,时移服务器31用于向播放代理装置提供时移播放列表和时移分片。时移服务器31位于网络侧,对直播内容进行录制并存储,以提供时移服务。
直播服务器32用于向播放代理装置提供直播播放列表和直播分片。直播服务器32仅用于提供直播服务,不对直播内容进行录制和存储。
播放代理装置33用于根据时移播放列表和直播播放列表生成当前时移窗口播放列表并提供给播放器34,当播放器34选择的定位分片属于直播分片时,播放代理装置33从直播服务器32获取从定位分片起的直播分片并转发给播放器34,当播放器34选择的定位分片属于时移分片时,播放代理装置33从时移服务器31获取从定位分片起的时移分片并转发给播放器34。播放代理装置33位于终端侧,代理播放器34与直播服务器32和时移服务器31之间的信息交互。
播放器34用于在当前时移窗口播放列表中选择定位分片,获取播放代理装置33转发的直播分片或时移分片。
在上述技术方案的基础上,进一步地,直播服务器32还用于向播放代理装置33提供新的直播播放列表和新的直播分片。播放代理装置33还用于存储当前时移窗口播放列表,从直播服务器32获取新的直播播放列表,根据存储的当前时移窗口播放列表和新的直播播放列表,生成新的当前时移窗口播放列表并提供给播放器34。播放器34还用于在新的当前时移窗口播放列表中选择定位分片。
在上述技术方案的基础上,具体地,时移播放列表中包括时移窗口的时间长度对应的分片的列表。直播播放列表中包括预设个数的分片的列表。播放代理装置33具体用于按照时间顺序拼接时移播放列表和直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,以此时的总播放列表作为当前时移窗口播放列表。播放代理装置33还具体用于按照时间顺序拼接当前时移窗口播放列表和新的直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,以总播放列表作为新的当前时移窗口播放列表。
在上述技术方案的基础上,进一步地,播放代理装置33还用于判断定位分片是否属于当前时移窗口播放列表中时间最新的预设个数的分片。如果是,定位分片属于直播分片;否则,定位分片属于时移分片。
在上述技术方案的基础上,进一步地,播放代理装置33还用于从直播服务器32获取媒体索引文件并向播放器34提供媒体索引文件,以供播放器34根据媒体索引文件确定播放码率。
在本发明实施例三的上述技术方案中,以时移服务器31与直播服务器32分别独立设置为例,由于网络电视***的大多数用户均需要进行直播播放业务,而仅有少数用户需要进行时移播放,因此将时移服务器31与直播服务器32分别独立设置,在直播服务器32中不设置存储装置,仅在时移服务器31中设置存储装置,在直播服务器32进行直播播放时,时移服务器31同步录制直播播放的节目,并存储在时移服务器31上。对于大多数用户的直播播放业务,仅采用直播服务器32实现;当有用户需要进行时移播放业务时,采用时移服务器31实现。从而通过分别独立设置时移服务器31和直播服务器32,节省了存储和录制的性能开销,并且节约了时移服务器31和直播服务器32整体的制作成本。在其它的具体实施方式中,也可以将时移服务器31和直播服务器32集成一体,作为媒体服务器,该媒体服务器具有上述时移服务器31和直播服务器32的功能。在本发明实施例三的上述技术方案中,将播放代理装置33和播放器34分别独立设置为不同的线程或软件程序实现,在其它的具体实施方式中,也可以将播放代理装置33和播放器34设置在一个线程或软件程序中实现。
在本发明实施例三中,当需要进行时移业务时,在网络电视***中,播放代理装置从时移服务器获取时移播放列表,将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,从而既不必重复初始化播放器,也不必在每次直播播放列表中增加分片个数,因此该网络电视***能够提高时移播放效率。并且,播放代理装置对初次生成的当前时移窗口播放列表进行存储,当再次需要进行时移业务时,播放代理装置仅从直播服务器获取新的直播播放列表,根据新的直播播放列表和存储的当前时移窗口播放列表生成新的当前时移窗口播放列表,而不必重复获取时移播放列表,处理方式简单易行,因此进一步提高时移播放效率。
图4为本发明实施例四的播放代理装置的结构示意图。如图4所示,该装置包括:第一交互单元41、播放列表生成单元42、第二交互单元43和分片转发单元44。
其中,第一交互单元41用于从时移服务器获取时移播放列表并从直播服务器获取直播播放列表。
播放列表生成单元42用于播放代理装置根据时移播放列表和直播播放列表,生成当前时移窗口播放列表。
第二交互单元43用于向播放器提供当前时移窗口播放列表,以供播放器在当前时移窗口播放列表中选择定位分片。
分片转发单元44用于当定位分片属于直播分片时从直播服务器获取从定位分片起的直播分片并转发给播放器,当定位分片属于时移分片时从时移服务器获取从定位分片起的时移分片并转发给上述播放器。
在上述技术方案的基础上,进一步地,第一交互单元41还用于从直播服务器获取新的直播播放列表。播放列表生成单元42还用于存储当前时移窗口播放列表,根据存储的当前时移窗口播放列表和新的直播播放列表,生成新的当前时移窗口播放列表。第二交互单元43还用于向播放器提供新的当前时移窗口播放列表,以供播放器在新的当前时移窗口播放列表中选择定位分片。
在上述技术方案的基础上,具体地,时移播放列表中包括时移窗口的时间长度对应的分片的列表。直播播放列表中包括预设个数的分片的列表。播放列表生成单元42具体用于按照时间顺序拼接时移播放列表和上述直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,以总播放列表作为当前时移窗口播放列表。播放列表生成单元42还具体用于按照时间顺序拼接当前时移窗口播放列表和新的直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到总播放列表中的分片的时间长度为时移窗口的时间长度为止,以总播放列表作为所述新的当前时移窗口播放列表。
在上述技术方案的基础上,进一步地,分片转发单元44还用于判断定位分片是否属于当前时移窗口播放列表中时间最新的上述预设个数的分片,如果是,定位分片属于直播分片,否则,定位分片属于时移分片。
在上述技术方案的基础上,进一步地,第一交互单元41还用于从直播服务器获取媒体索引文件。第二交互单元43还用于向播放器提供上述媒体索引文件,以供该播放器根据该媒体索引文件确定播放码率。
在本发明实施例四中,当需要进行时移业务时,播放代理装置的第一交互单元从时移服务器获取时移播放列表,播放代理装置的播放列表生成单元将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,第二交互单元向播放器提供当前时移窗口播放列表,并获取播放器根据该当前时移窗口播放列表选择的定位分片,从而既不必重复初始化播放器,也不必在每次直播播放列表中增加分片个数,因此能够提高时移播放效率。并且,播放代理装置的播放列表生成单元对初次生成的当前时移窗口播放列表进行存储,当再次需要进行时移业务时,播放代理装置的第一交互单元仅从直播服务器获取新的直播播放列表,播放列表生成单元根据新的直播播放列表和存储的当前时移窗口播放列表生成新的当前时移窗口播放列表,而第一交互单元不必重复获取时移播放列表,处理方式简单易行,因此该播放代理装置能够进一步提高时移播放效率。
图5为本发明实施例五的时移服务器的结构示意图。如图5所示,该时移服务器包括:播放列表提供单元51和分片提供单元52。
其中,播放列表提供单元51,用于向播放代理装置提供时移播放列表,以使播放代理装置生成当前时移窗口播放列表并提供给播放器,以供播放器从上述当前时移窗口播放列表中选择定位分片;
分片提供单元52,用于当播放器选择的定位分片属于时移分片时,向上述播放代理装置提供从定位分片起的时移分片,以使上述播放代理装置向播放器转发上述时移分片。
在本发明实施例五中,时移服务器的播放列表提供单元向播放代理装置提供时移播放列表,以便播放代理装置将时移播放列表和直播播放列表组合生成当前时移窗口播放列表,播放器根据该当前时移窗口播放列表选择定位分片,时移服务器的分片提供单元向播放代理装置提供时移分片,从而既不必重复初始化播放器,也不必在每次直播播放列表中增加分片个数,因此能够提高时移播放效率。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种网络电视时移播放方法,其特征在于,包括:
从时移服务器获取时移播放列表,从直播服务器获取直播播放列表;
根据所述时移播放列表和所述直播播放列表,生成当前时移窗口播放列表;
向播放器提供所述当前时移窗口播放列表,以供所述播放器在所述当前时移窗口播放列表中选择定位分片;
当所述定位分片属于直播分片时,从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器;
当所述定位分片属于时移分片时,从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器;
所述时移播放列表中包括时移窗口的时间长度对应的分片的列表;
所述直播播放列表中包括预设个数的分片的列表;
所述根据所述时移播放列表和所述直播播放列表,生成当前时移窗口播放列表包括:按照时间顺序拼接所述时移播放列表和所述直播播放列表;从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到所述总播放列表中的分片的时间长度为时移窗口的时间长度为止,以所述总播放列表作为所述当前时移窗口播放列表。
2.根据权利要求1所述的方法,其特征在于,
所述生成当前时移窗口播放列表之后还包括:存储所述当前时移窗口播放列表;
所述从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器或从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器之后,还包括:从直播服务器获取新的直播播放列表;根据存储的所述当前时移窗口播放列表和所述新的直播播放列表,生成新的当前时移窗口播放列表;向播放器提供所述新的当前时移窗口播放列表,以供所述播放器在所述新的当前时移窗口播放列表中选择定位分片;当所述定位分片属于直播分片时,从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器;当所述定位分片属于时移分片时,从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器。
3.根据权利要求2所述的方法,其特征在于,
所述根据存储的所述当前时移窗口播放列表和所述新的直播播放列表,生成新的当前时移窗口播放列表包括:按照时间顺序拼接所述当前时移窗口播放列表和所述新的直播播放列表;从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到所述总播放列表中的分片的时间长度为时移窗口的时间长度为止,以所述总播放列表作为所述新的当前时移窗口播放列表。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,当所述播放器在所述当前时移窗口播放列表中选择定位分片之后,还包括:
判断所述定位分片是否属于所述当前时移窗口播放列表中时间最新的所述预设个数的分片;
如果是,所述定位分片属于直播分片;
否则,所述定位分片属于时移分片。
5.根据权利要求1所述的方法,其特征在于,
所述从直播服务器获取直播播放列表之前,还包括:从直播服务器获取媒体索引文件;
所述向播放器提供所述当前时移窗口播放列表之前,还包括:向所述播放器提供所述媒体索引文件,以供所述播放器根据所述媒体索引文件确定播放码率。
6.一种网络电视***,其特征在于,包括:
时移服务器,用于向播放代理装置提供时移播放列表和时移分片;
直播服务器,用于向播放代理装置提供直播播放列表和直播分片;
播放代理装置,用于根据所述时移播放列表和所述直播播放列表生成当前时移窗口播放列表并提供给播放器;当所述播放器选择的定位分片属于直播分片时,从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器;当所述播放器选择的定位分片属于时移分片时,从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器;
播放器,用于在所述当前时移窗口播放列表中选择定位分片,获取所述播放代理装置转发的直播分片或时移分片;
所述时移播放列表中包括时移窗口的时间长度对应的分片的列表;
所述直播播放列表中包括预设个数的分片的列表;
所述播放代理装置具体用于按照时间顺序拼接所述时移播放列表和所述直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到所述总播放列表中的分片的时间长度为时移窗口的时间长度为止,以所述总播放列表作为所述当前时移窗口播放列表。
7.根据权利要求6所述的***,其特征在于,
所述直播服务器还用于向播放代理装置提供新的直播播放列表和新的直播分片;
所述播放代理装置还用于存储所述当前时移窗口播放列表,从所述直播服务器获取新的直播播放列表,根据存储的所述当前时移窗口播放列表和所述新的直播播放列表,生成新的当前时移窗口播放列表并提供给所述播放器。
8.根据权利要求7所述的***,其特征在于,
所述播放代理装置还具体用于按照时间顺序拼接所述当前时移窗口播放列表和所述新的直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到所述总播放列表中的分片的时间长度为时移窗口的时间长度为止,以所述总播放列表作为所述新的当前时移窗口播放列表。
9.根据权利要求6至8中任意一项所述的***,其特征在于,
所述播放代理装置还用于判断所述定位分片是否属于所述当前时移窗口播放列表中时间最新的所述预设个数的分片;如果是,所述定位分片属于直播分片;否则,所述定位分片属于时移分片。
10.根据权利要求6所述的***,其特征在于,
所述播放代理装置还用于从所述直播服务器获取媒体索引文件并向所述播放器提供所述媒体索引文件,以供所述播放器根据所述媒体索引文件确定播放码率。
11.一种播放代理装置,其特征在于,包括:
第一交互单元,用于从时移服务器获取时移播放列表并从直播服务器获取直播播放列表;
播放列表生成单元,用于根据所述时移播放列表和所述直播播放列表,生成当前时移窗口播放列表;
第二交互单元,用于向播放器提供所述当前时移窗口播放列表,以供所述播放器在所述当前时移窗口播放列表中选择定位分片;
分片转发单元,用于当所述定位分片属于直播分片时从所述直播服务器获取从所述定位分片起的直播分片并转发给所述播放器,当所述定位分片属于时移分片时从所述时移服务器获取从所述定位分片起的时移分片并转发给所述播放器;
所述时移播放列表中包括时移窗口的时间长度对应的分片的列表;
所述直播播放列表中包括预设个数的分片的列表;
所述播放列表生成单元具体用于按照时间顺序拼接所述时移播放列表和所述直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到所述总播放列表中的分片的时间长度为时移窗口的时间长度为止,以所述总播放列表作为所述当前时移窗口播放列表。
12.根据权利要求11所述的装置,其特征在于,
所述第一交互单元还用于从直播服务器获取新的直播播放列表;
所述播放列表生成单元还用于存储所述当前时移窗口播放列表,根据存储的所述当前时移窗口播放列表和所述新的直播播放列表,生成新的当前时移窗口播放列表;
所述第二交互单元还用于向播放器提供所述新的当前时移窗口播放列表,以供所述播放器在所述新的当前时移窗口播放列表中选择定位分片。
13.根据权利要求12所述的装置,其特征在于,
所述播放列表生成单元还具体用于按照时间顺序拼接所述当前时移窗口播放列表和所述新的直播播放列表,从拼接获得的总播放列表中按照时间由旧到新的顺序逐个删除分片,直到所述总播放列表中的分片的时间长度为时移窗口的时间长度为止,以所述总播放列表作为所述新的当前时移窗口播放列表。
14.根据权利要求11至13中任意一项所述的装置,其特征在于,
所述分片转发单元还用于判断所述定位分片是否属于所述当前时移窗口播放列表中时间最新的所述预设个数的分片,如果是,所述定位分片属于直播分片,否则,所述定位分片属于时移分片。
15.根据权利要求11所述的装置,其特征在于,
所述第一交互单元还用于从直播服务器获取媒体索引文件;
所述第二交互单元还用于向所述播放器提供所述媒体索引文件,以供所述播放器根据所述媒体索引文件确定播放码率。
16.一种时移服务器,其特征在于,包括:
播放列表提供单元,用于向播放代理装置提供时移播放列表,以使所述播放代理装置根据所述时移播放列表和直播播放列表组合生成当前时移窗口播放列表并提供给播放器,以供所述播放器从所述当前时移窗口播放列表中选择定位分片,其中,所述直播播放列表由直播服务器提供给所述播放代理装置;
分片提供单元,用于当播放器选择的定位分片属于时移分片时,向所述播放代理装置提供从定位分片起的时移分片,以使所述播放代理装置向播放器转发所述时移分片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210027270.2A CN103248912B (zh) | 2012-02-08 | 2012-02-08 | 网络电视时移播放方法、网络电视***和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210027270.2A CN103248912B (zh) | 2012-02-08 | 2012-02-08 | 网络电视时移播放方法、网络电视***和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103248912A CN103248912A (zh) | 2013-08-14 |
CN103248912B true CN103248912B (zh) | 2017-04-26 |
Family
ID=48928100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210027270.2A Active CN103248912B (zh) | 2012-02-08 | 2012-02-08 | 网络电视时移播放方法、网络电视***和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103248912B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486636A (zh) * | 2014-12-30 | 2015-04-01 | 中科创达软件股份有限公司 | 一种基于hls协议的视频片段缓存方法及*** |
CN106686471A (zh) * | 2015-11-06 | 2017-05-17 | 中国电信股份有限公司 | 用于实现网络视频直播的方法和客户端 |
CN105681913B (zh) * | 2016-01-12 | 2019-02-19 | 青岛海信电器股份有限公司 | 多屏互动方法及装置 |
CN107864382B (zh) * | 2017-10-24 | 2018-10-09 | 广东省南方数字电视无线传播有限公司 | 视频播放方法、装置和*** |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420603A (zh) * | 2008-09-05 | 2009-04-29 | 中兴通讯股份有限公司 | 一种分片存储实现媒体分发、定位的方法及其流媒体*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8667164B2 (en) * | 2010-04-26 | 2014-03-04 | Samsung Electronics Co., Ltd. | Method and apparatus for playing live content |
-
2012
- 2012-02-08 CN CN201210027270.2A patent/CN103248912B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420603A (zh) * | 2008-09-05 | 2009-04-29 | 中兴通讯股份有限公司 | 一种分片存储实现媒体分发、定位的方法及其流媒体*** |
Non-Patent Citations (2)
Title |
---|
Advanced PVR Architecture with Segment-based Time-Shift;Seong Yong Lim等;《International Conference on Consumer Electronics》;20070114;全文 * |
流媒体直播(时移)***的设计;徐良基等;《中国图像图形学报》;20061128;第11卷(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103248912A (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100567157B1 (ko) | 모바일 환경에서의 플레이리스트를 통한 다수 파일의 스트리밍 방법 및 그 시스템 | |
CN105100961B (zh) | 视频缩略图生成方法及生成装置 | |
WO2021082584A1 (zh) | 消息交互方法、装置、可读介质及电子设备 | |
CN101415069B (zh) | 一种服务器及其在线播放视频的发送方法 | |
US9356985B2 (en) | Streaming video to cellular phones | |
CN102546781B (zh) | 课程资源播放方法和课程资源播放*** | |
CN102572555A (zh) | 一种实现hls客户端视频直播回看的方法及*** | |
CN103248912B (zh) | 网络电视时移播放方法、网络电视***和装置 | |
CN105228001A (zh) | 一种flv格式视频在线播放的方法及*** | |
CN105744299A (zh) | 动态码率切换方法、服务器及*** | |
CN103957471A (zh) | 网络视频播放的方法和装置 | |
CN106878815A (zh) | 视频的播放方法和装置 | |
CN103347215B (zh) | 一种多屏互动方法及机顶盒 | |
CN103747280B (zh) | 一种创建节目单的方法及电子设备 | |
CN103873956A (zh) | 媒体文件播放方法、***、播放器、终端及媒体存储平台 | |
US20140282666A1 (en) | Systems and Methods for Content History | |
CN106303754A (zh) | 一种音频数据播放方法及装置 | |
CN108810575A (zh) | 一种发送目标视频的方法和装置 | |
CN104581404A (zh) | 多媒体数据的处理方法、装置及*** | |
CN101448136B (zh) | 实现视频点播功能的方法和*** | |
CN108989426B (zh) | 基于hls协议的拉流方法、***及客户端和存储介质 | |
CN104980817A (zh) | 一种视频流抽帧方法及装置 | |
KR101936384B1 (ko) | 동영상 강제 시청을 위한 재생 목록 제공 방법 및 장치 | |
CN106961635A (zh) | 信息装置 | |
Jang et al. | Implementation of continuous HTTP live streaming using playback position request mechanism in heterogeneous networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |