CN103517157B - 实现hls频道时移播放的方法及系统 - Google Patents
实现hls频道时移播放的方法及系统 Download PDFInfo
- Publication number
- CN103517157B CN103517157B CN201310449988.5A CN201310449988A CN103517157B CN 103517157 B CN103517157 B CN 103517157B CN 201310449988 A CN201310449988 A CN 201310449988A CN 103517157 B CN103517157 B CN 103517157B
- Authority
- CN
- China
- Prior art keywords
- time
- client
- file
- play
- burst
- 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
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种实现HLS频道时移播放的方法及系统,涉及互联网多媒体领域,该方法为:服务器保留时移范围内的分片;客户进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,生成一个新的URL发到服务器;服务器解析出时间差,算出应播放的分片,组织新的m3u8文件发给客户端;客户端依次请求分片播放,快播放完所有分片时,再用前面的URL来请求新的m3u8文件;服务器解析出时间差,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端;客户端收到新的m3u8文件后,计算应播放哪个分片,再依次请求播放;客户端周期性请求新的m3u8文件。本发明能实现HLS频道的时移播放,提升用户体验。
Description
技术领域
本发明涉及互联网多媒体领域,特别是涉及一种实现HLS(HTTPLive Streaming,苹果公司实现的基于HTTP的流媒体网络传输协议)频道时移播放的方法及系统。
背景技术
互联网多媒体的应用日益兴旺,HLS的规范在互联网多媒体应用越来越广泛。HLS在互联网的应用主要是VOD(Video On Demand,视频点播)播放和频道播放。简单描述一下HLS实现VOD播放的方法,客户端首先请求这个VOD的m3u8(播放列表文件)文件,服务器收到该请求后,生成一个m3u8文件,该m3u8文件里面包含多个分片的信息,每个分片在m3u8文件中都有固定唯一的序号,客户端依次请求播放分片。当需要拖动时,客户端计算出需要播放的分片,直接请求这个分片,并依次请求其后的分片进行播放。
下面简单描述一下HLS实现频道播放的流程:客户端首先请求某个频道的m3u8文件,服务器收到请求后,生成一个m3u8文件,该m3u8文件里面包含当前时间之前的若干个分片,并包含TAG(标签)项#EXT-X-MEDIA-SEQUENCE(媒体序号),来表明该m3u8文件的第一个分片的序号,客户端根据m3u8文件中的内容依次请求每个分片的播放,快播放完所有分片时,客户端用相同的URL(Uniform/Universal Resource Locator,统一资源定位符)再到服务器请求新的m3u8文件,客户端根据新的m3u8文件中的TAG项#EXT-X-MEDIA-SEQUENCE,来决定后边应该请求的分片,然后再请求对该分片进行播放,如此周期性循环,以实现频道直播的播放。
目前的HLS频道播放只能实现直播的播放,无法实现频道时移的播放,用户体验受到限制。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种实现HLS频道时移播放的方法及系统,在不修改HLS规范的情况下,能够实现HLS频道的时移播放,提升用户体验。
本发明提供一种实现HLS频道时移播放的方法,包括以下步骤:
S1、客户端和服务器依据苹果公司实现的基于HTTP的流媒体网络传输协议HLS规范实现频道直播流服务,服务器保留所有在时移范围内的分片;
S2、客户端正在播放当前频道,服务器根据客户端请求的统一资源定位符URL返回播放列表文件m3u8文件;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;
S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;
S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;
S5、客户端收到新的m3u8文件后,依次请求分片进行播放;
S6、客户端在快播放完所有分片时,再次用S3中的新的URL来请求新的m3u8文件,时间差是固定的;
S7、服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;
S8、客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;
S9、重复步骤S3~S8,客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。
在上述技术方案的基础上,步骤S9之后还包括以下步骤:
S10、客户端进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。
本发明还提供一种实现HLS频道时移播放的系统,包括客户端和服务器,所述客户端和服务器依据HLS规范实现频道直播流服务,所述服务器还用于:保留所有在时移范围内的分片;根据客户端请求的URL返回m3u8文件;所述客户端还用于:提供一个用于显示时移范围、客户进行时移操作的时间条;当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;
所述服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;
所述客户端收到新的m3u8文件后,依次请求分片进行播放;在快播放完所有分片时,再次用新的URL来请求新的m3u8文件,时间差是固定的;
所述服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;
所述客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。
在上述技术方案的基础上,所述客户端还用于:进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。
与现有技术相比,本发明的优点如下:
本发明在不修改HLS规范的情况下,能够实现HLS频道的时移播放,提升用户体验。
附图说明
图1是本发明实施例中实现HLS频道时移播放的方法的流程图。
图2是服务器当前保留分片的示意图。
图3是客户端正在播放当前频道的示意图。
图4是客户端往前时移90秒的示意图。
图5是在图2的基础上延时1分钟后服务器保留分片变化的示意图。
图6是暂停10秒后重新生成新的URL进行请求的示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种实现HLS频道时移播放的方法,包括以下步骤:
S1、客户端和服务器依据HLS规范实现频道直播流服务,参见图2所示,服务器保留所有在时移范围内的分片,假定每个分片是10秒,当前正的生成的分片的序号是1140,假定这个频道的ID是1001;
S2、参见图3所示,客户端正在播放当前频道,服务器根据客户端请求的URL返回m3u8文件,客户端请求的URL是http://ip/hls/live/1001.m3u8,服务器返回的m3u8文件中包括三个分片,序号分别是1137、1138、1139;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;
S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;例如:参见图4所示,客户进行了往前90秒的时移操作,客户端重新请求,请求的URL是http://ip/hls/live/1001.m3u8?timeshift=90;
S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;例如:服务器收到请求后,解析出时间差90秒,再根据当前保存的内容,计算出应该播放的分片的序号分别是1128、1129、1130,将分片信息生成新的m3u8文件中返回给客户端;
S5、客户端收到新的m3u8文件后,依次请求分片进行播放;
S6、客户端在快播放完所有分片时,再次用新的URLhttp://ip/hls/live/1001.m3u8?timeshift=90,来请求新的m3u8文件,因此,时间差是固定的;
S7、服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号分别是1130、1131、1132,组织新的m3u8文件发送给客户端;由于相同的URL中的时间差是固定的,所以服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;
S8、客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;例如:由于前面的m3u8文件已经包含序号为1130的分片了,等序号为1130的分片播放完后,就接着请求序号为1131的分片进行播放;
S9、重复步骤S3~S8,客户端周期性请求新的m3u8文件,由于每次请求都和当前时间有个固定的时间差,从而实现HLS频道时移的播放;例如:一分钟后,服务器的保留分片变成如图5所示,客户端的请求的URL还是http://ip/hls/live/1001.m3u8?timeshift=90,服务器还是根据时间差90秒,再根据这个时间差和当前保存的内容,计算出应该播放的分片的序号分别是1134、1135、1136,将序号分别为1134、1135、1136的分片返回给客户端,客户端根据m3u8文件中的分片进行播放;
S10、客户端进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放;由于URL中时间差进行了修改,所以客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。参见图6所示,客户端暂停10秒,再重新播放,重新生成新的URL为,http://ip/hls/live/1001.m3u8?timeshift=100,服务器算出时间差100,再计算出相应的分片的序号生成m3u8文件给客户端。
本发明实施例还提供一种实现HLS频道时移播放的系统,包括客户端和服务器,客户端和服务器依据HLS规范实现频道直播流服务,服务器还用于:保留所有在时移范围内的分片;根据客户端请求的URL返回m3u8文件;
客户端还用于:提供一个用于显示时移范围、客户进行时移操作的时间条;当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;
服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;
客户端收到新的m3u8文件后,依次请求分片进行播放;在快播放完所有分片时,再次用新的URL来请求新的m3u8文件,时间差是固定的;
服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;
客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。
客户端还用于:进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型属在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
Claims (4)
1.一种实现HLS频道时移播放的方法,其特征在于,包括以下步骤:
S1、客户端和服务器依据苹果公司实现的基于HTTP的流媒体网络传输协议HLS规范实现频道直播流服务,服务器保留所有在时移范围内的分片;
S2、客户端正在播放当前频道,服务器根据客户端请求的统一资源定位符URL返回播放列表文件m3u8文件;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;
S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;
S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;
S5、客户端收到新的m3u8文件后,依次请求分片进行播放;
S6、客户端在快播放完所有分片时,再次用S3中新的URL来请求新的m3u8文件,时间差是固定的;
S7、服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;
S8、客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;
S9、重复步骤S3~S8,客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。
2.如权利要求1所述的实现HLS频道时移播放的方法,其特征在于:步骤S9之后还包括以下步骤:
S10、客户端进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。
3.一种实现HLS频道时移播放的系统,包括客户端和服务器,所述客户端和服务器依据HLS规范实现频道直播流服务,其特征在于:所述服务器还用于:保留所有在时移范围内的分片;根据客户端请求的URL返回m3u8文件;
所述客户端还用于:提供一个用于显示时移范围、客户进行时移操作的时间条;当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;
所述服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;
所述客户端收到新的m3u8文件后,依次请求分片进行播放;在快播放完所有分片时,再次用新的URL来请求新的m3u8文件,时间差是固定的;
所述服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;
所述客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。
4.如权利要求3所述的实现HLS频道时移播放的系统,其特征在于:所述客户端还用于:进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310449988.5A CN103517157B (zh) | 2013-09-27 | 2013-09-27 | 实现hls频道时移播放的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310449988.5A CN103517157B (zh) | 2013-09-27 | 2013-09-27 | 实现hls频道时移播放的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103517157A CN103517157A (zh) | 2014-01-15 |
CN103517157B true CN103517157B (zh) | 2016-11-16 |
Family
ID=49899057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310449988.5A Active CN103517157B (zh) | 2013-09-27 | 2013-09-27 | 实现hls频道时移播放的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103517157B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104080011A (zh) * | 2014-07-08 | 2014-10-01 | 浪潮软件集团有限公司 | 一种基于hls协议实现时移系统的方法 |
CN104168516A (zh) * | 2014-09-01 | 2014-11-26 | 上海下一代广播电视网应用实验室有限公司 | 一种在流媒体直播平台上实现电视回看系统和方法 |
CN104363472A (zh) * | 2014-10-20 | 2015-02-18 | 中兴通讯股份有限公司 | 基于hls的能力控制方法及服务系统和slb服务器 |
CN105072458A (zh) * | 2015-07-23 | 2015-11-18 | 浪潮软件集团有限公司 | 一种基于hls协议实现机顶盒直播过程中时移的方法 |
CN106686471A (zh) * | 2015-11-06 | 2017-05-17 | 中国电信股份有限公司 | 用于实现网络视频直播的方法和客户端 |
CN105578216B (zh) * | 2015-12-21 | 2018-11-13 | 武汉市烽视威科技有限公司 | 一种实现hls点播快进快退的方法 |
CN105681838A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市云宙多媒体技术有限公司 | 一种hls直播在线用户统计方法和系统 |
CN105657443A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市云宙多媒体技术有限公司 | 一种直播时移播放方法和系统 |
CN106572358B (zh) * | 2016-11-11 | 2022-03-08 | 青岛海信宽带多媒体技术有限公司 | 一种直播时移方法及客户端 |
CN109618180B (zh) * | 2019-01-30 | 2021-06-22 | 网宿科技股份有限公司 | 一种直播数据处理方法、系统及服务器 |
US11025984B2 (en) | 2019-01-30 | 2021-06-01 | Wangsu Science & Technology Co., Ltd. | Method, system for processing a live-broadcasting data, and server thereof |
CN110536145B (zh) * | 2019-08-15 | 2022-03-25 | 咪咕视讯科技有限公司 | 直播时移处理方法、电子设备和存储介质 |
CN110881146A (zh) * | 2019-09-12 | 2020-03-13 | 北京阳光云视科技有限公司 | 一种基于切片模式的时移系统 |
CN110784737A (zh) * | 2019-10-21 | 2020-02-11 | 北京东方广视科技股份有限公司 | 基于hls协议的播放时移电视的方法、终端及服务器 |
CN110809179A (zh) * | 2019-10-30 | 2020-02-18 | 烽火通信科技股份有限公司 | Hls协议下切换直播时移时间轴的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007063485A2 (en) * | 2005-12-01 | 2007-06-07 | Nokia Corporation | Time-shifted presentation of media streams |
CN101877779A (zh) * | 2010-05-25 | 2010-11-03 | 中兴通讯股份有限公司 | 一种交互式网络电视iptv系统、时移播放控制方法及装置 |
CN102572555A (zh) * | 2012-01-16 | 2012-07-11 | 深圳市同洲视讯传媒有限公司 | 一种实现hls客户端视频直播回看的方法及系统 |
CN102843614A (zh) * | 2012-07-27 | 2012-12-26 | 优视科技有限公司 | 播放流媒体的方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8843596B2 (en) * | 2011-11-30 | 2014-09-23 | Adobe Systems Incorporated | Conversion between streaming media communication protocols |
-
2013
- 2013-09-27 CN CN201310449988.5A patent/CN103517157B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007063485A2 (en) * | 2005-12-01 | 2007-06-07 | Nokia Corporation | Time-shifted presentation of media streams |
CN101877779A (zh) * | 2010-05-25 | 2010-11-03 | 中兴通讯股份有限公司 | 一种交互式网络电视iptv系统、时移播放控制方法及装置 |
CN102572555A (zh) * | 2012-01-16 | 2012-07-11 | 深圳市同洲视讯传媒有限公司 | 一种实现hls客户端视频直播回看的方法及系统 |
CN102843614A (zh) * | 2012-07-27 | 2012-12-26 | 优视科技有限公司 | 播放流媒体的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103517157A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103517157B (zh) | 实现hls频道时移播放的方法及系统 | |
US10200723B2 (en) | Converting live streaming content to video-on-demand streaming content | |
CN103533395A (zh) | 实现hls频道回看播放的方法及系统 | |
CN104584574B (zh) | 处理交互服务的设备和方法 | |
WO2015090095A1 (zh) | 一种信息推送方法、设备和系统 | |
US20160227258A1 (en) | Method for playing back live video and device | |
US20160134900A1 (en) | Streaming media processing method, apparatus, and system | |
CN103957469A (zh) | 基于实时转封装的互联网视频点播方法及系统 | |
CN106993212B (zh) | 浏览器窗口中播放多路视频的方法及装置 | |
BR112018077482B1 (pt) | Sistemas e métodos para introduzir anúncios em conteúdo de transmissão | |
WO2015042962A1 (en) | System and method of a link surfed http live streaming broadcasting system | |
CN105144146A (zh) | 接收装置、接收装置中的信息处理方法、传输装置、信息处理装置和信息处理方法 | |
US20180138998A1 (en) | Method for continuously playing, on a client device, a content broadcast within a peer-to-peer network | |
CN103024604A (zh) | 一种用于实现ts文件无缝连接的装置及方法 | |
EP3285455B1 (en) | Content item aggregation method and related device and communication system | |
CN108632642A (zh) | 流媒体推送方法及装置 | |
EP2681920B1 (en) | Methods and apparatuses for resuming paused media | |
JP6728246B2 (ja) | マルチメディアシステムにおける信号送受信方法及び装置 | |
MX2014012335A (es) | Metodo y sistema para marcar e identificar de manera uniforme lugares de oportunidad de colocacion para facilitar decision de resolucion acelerada. | |
CN105592369B (zh) | 一种视频摘要处理方法及装置 | |
CN105530523A (zh) | 一种业务实现方法及设备 | |
US20160117739A1 (en) | Systems and Methods for Curating Content Metadata | |
US20160073137A1 (en) | Transmission apparatus, transmission method, reception apparatus, and reception method | |
CN105376657A (zh) | 媒体内容提供方法、播放方法和装置以及服务系统 | |
KR101666918B1 (ko) | 스트리밍 서비스에서의 영상 스킵 및 검색 처리를 위한 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |