CN103517157B - 实现hls频道时移播放的方法及系统 - Google Patents

实现hls频道时移播放的方法及系统 Download PDF

Info

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
Application number
CN201310449988.5A
Other languages
English (en)
Other versions
CN103517157A (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.)
WUHAN FONSVIEW TECHNOLOGY Co Ltd
Original Assignee
WUHAN FONSVIEW 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 WUHAN FONSVIEW TECHNOLOGY Co Ltd filed Critical WUHAN FONSVIEW TECHNOLOGY Co Ltd
Priority to CN201310449988.5A priority Critical patent/CN103517157B/zh
Publication of CN103517157A publication Critical patent/CN103517157A/zh
Application granted granted Critical
Publication of CN103517157B publication Critical patent/CN103517157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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频道时移播放的方法及系统
技术领域
本发明涉及互联网多媒体领域,特别是涉及一种实现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文件中的分片和原来正在播放的分片是衔接上的。
CN201310449988.5A 2013-09-27 2013-09-27 实现hls频道时移播放的方法及系统 Active CN103517157B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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