CN106657123A - 一种基于hls协议的直播时移方案 - Google Patents
一种基于hls协议的直播时移方案 Download PDFInfo
- Publication number
- CN106657123A CN106657123A CN201611271879.9A CN201611271879A CN106657123A CN 106657123 A CN106657123 A CN 106657123A CN 201611271879 A CN201611271879 A CN 201611271879A CN 106657123 A CN106657123 A CN 106657123A
- Authority
- CN
- China
- Prior art keywords
- module
- time
- section
- computing module
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4333—Processing operations in response to a pause request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于hls协议的直播时移方案,包括监测模块、第一计算模块、第一过滤模块、存储模块、第二过滤模块、第二计算模块和整合模块,通过简单的参数控制来实现时移回看、直播回放的切换,通过特有的位置存储原理来实现无数据库化,提高时移请求处理的效率。
Description
技术领域
本发明涉及一种基于hls协议的直播时移方案。
背景技术
普通时移采用的数据库存储切片位置方式,依赖性高,数据库交互太多,影响处理性能。
发明内容
本发明的目的在于克服现有技术中的不足而提供一种基于hls协议的直播时移方案。
为实现上述目的,一方面,本发明提供的一种基于hls协议的直播时移方案,包括监测模块、第一计算模块、第一过滤模块、存储模块、第二过滤模块、第二计算模块和整合模块,
监测模块用于记录直播源的变化,
第一计算模块用于将直播产生的切片名称转换为时移服务特有名称,且第一计算模块用于将当前直播源作唯一标识,
第一过滤模块用于对切片的所属的时间点进行过滤,并将同一时段的切片作统一存储处理,
存储模块用于把经过第一计算模块及第一过滤模块处理后的切片归档并作缓存处理,
第二过滤模块用于过滤时移请求参数及校验参数有效性,
第二计算模块用于针对请求的时间参数计算所需时移的切片位置,
整合模块用于更新获取到的切片路径。
优选地,监测模块监控直播源的m3u8文件并判断是否生成新的ts切片,当生成新的ts切片则视为直播源的变化并记录。
根据本发明提供的一种基于hls协议的直播时移方案,由于无需数据库化,单纯利用位置存储及相关计算定位等特点,可以大大提高时移的处理效率。
附图说明
图1是本发明一实施例的一种基于hls协议的直播时移方案的逻辑示意框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明一实施例提供了一种基于hls协议的直播时移方案,包括时移服务阶段的监测模块、第一计算模块、第一过滤模块、存储模块,以及获取切片服务阶段的第二过滤模块、第二计算模块、整合模块。
如图1所示,为本发明的直播时移方案的逻辑示意框图。
在直播启动时同步启动时移服务。
时移服务的监测模块用于观察和记录直播源的变化,记录下变化的内容后交由后续模块处理。
具体地,时移服务的监测模块对直播源的m3u8文件内容进行监控,判断是否有新的ts切片生成,判断方法为根据m3u8文件中最后一个ts文件序号来对比,因为在存储模块会记录每次存储的最后一个ts切片序号,如果当前监测模块有监测到大于存储的序号的ts信息,就判断为新生成的切片,记录下来交给后续模块处理。
时移服务的第一计算模块用于把直播产生的切片名称转换成时移服务特有的名称,由切片时间点、切片时长、切片序号等信息组成,同时把当前直播源url作为此次任务的唯一标识。
具体地,时移服务的第一计算模块拿到监测模块传递过来的新ts切片信息,结合切片的上下文描述,以及按照位置存储规定,计算出方便时移的切片名称,例如:时间文件夹/切片所属秒_切片时长_切片序号.ts,同时需要定义此次时移任务的标识为直播源url,主要用于后续根据直播url来定位切片所属目录。
时移服务的第一过滤模块主要是对切片所属的时间点进行过滤,按照分钟来进行筛选,每分钟产出的切片进行统一文件夹存储。
具体地,时移服务的第一过滤模块主要是对切片的具体时间进行处理,并将同一时段的切片作统一存储处理。本实施例中,可精确至分钟,然后对属于同一分钟的切片进行统一文件夹存储处理,保证每分钟的切片不会混乱。
时移服务的存储模块主要是把计算和过滤后的切片进行归档,同时进行缓存处理,以供后续时移播放使用,存储缓存时是针对每秒都进行对应的切片缓存,方便获取切片服务使用。
具体地,时移服务的存储模块在存储时通过第一计算模块、第一过滤模块得到了需要存储的内容及路径。重点是在于缓存存储的使用,因为文件存储系统是对切片进行存储的,每个切片是有时差的,如果时移刚好请求至时差间的时间点,需要进行文件存储的列表回源查询,会影响查询效率,所以在存储缓存时,需要计算出每个切片的时长及时间,在切片时间的基础上累加时长,精确到秒,即保证在缓存中的每一秒都可以找到对应的切片信息,从而提高时移效率。
对应的文件存储结构如下:
201612050751
--01_3.333_260.ts
--04_3.334_261.ts
--07_3.333_262.ts
--11_3.333_263.ts
对应的缓存存储结构如下:
20161205075101→201612050751/01_3.333_260.ts
20161205075102→201612050751/01_3.333_260.ts
20161205075103→201612050751/01_3.333_260.ts
20161205075104→201612050751/04_3.334_261.ts
20161205075105→201612050751/04_3.334_261.ts
20161205075106→201612050751/04_3.334_261.ts
20161205075107→201612050751/07_3.333_262.ts
20161205075108→201612050751/07_3.333_262.ts
20161205075109→201612050751/07_3.333_262.ts
20161205075110→201612050751/07_3.333_262.ts
20161205075111→201612050751/11_3.333_263.ts
通过以上操作,时移准备工作已经完成。以下是描述如何通过这些数据排列规则来拿到对应的切片信息。
获取切片服务的第二过滤模块主要是过滤时移发来的URL参数,包含时移开始时间、回放结束时间(可选参数),校验参数有效性:与直播开始时间、时移最大时长进行对比。
具体地,如果是正常时移观看,请求URL后缀参数为beginTime,此参数表明需要从这个时间点开始进行播放,此参数不可早于直播开始时间,不可晚于直播结束时间,不可与当前时间的时间差大于时移规定的最大时移范围(时移服务可以动态设置本次直播的时移范围),含有此参数返回的是正常直播的m3u8文件内容。如果是需要直播回放观看,请求URL后缀参数需要追加endTime,此参数表明需要直播回放的结束时间点,同样此参数校验方式和beginTime相同,含有此参数返回的是点播视频的m3u8文件内容。
时移请求服务的第二计算模块主要是针对请求的时间参数计算出需要时移的切片位置,如果未找到切片(缓存过期情况)进行回源(文件存储)根据ts切片名称进行查询。
具体地,通过计算请求的时间参数,转换成时移服务存储的格式:yyyyMMddHHmmss,通过key去缓存服务中查询对应的ts文件路径,找到第一个ts文件时,通过ts切片的名称中的时长来计算下一个ts切片的key,以此类推找到规定m3u8文件中的ts切片个数。如果缓存过期或者缓存服务器宕机,需要从文件存储服务器回源获取,首先拿当前请求的时间(换算成精确到分钟的时间格式)去对应的文件存储服务器中的文件夹中获取,因为每个切片名称都有其对应的秒数,如果当前请求的秒数不在列表中,需要对请求的秒数进行叠加处理并重新查询,直至找到对应的切片。
时移请求服务的整合模块主要是更新获取到的切片路径,如果检测到有回放结束时间参数还需要在m3u8文件最后追加endlist标签来表明此文件为点播文件。
具体地,整合服务主要是对第二计算模块查询到的切片进行处理,在时移服务开始时,会把直播源的m3u8文件归档,整合模块会把此文件获取并更新其内容,最后返回。
正常时移请求的URL:
http://XXXX/XXX/xxxx.m3u8?beginTime=20161013065122
正常时移请求的返回:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:22Z
#EXTINF:3.333
201610130651/22_3.333_1.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:26Z
#EXTINF:3.333
201610130651/26_3.333_2.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:29Z
#EXTINF:3.334
201610130651/29_3.334_3.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:32Z
#EXTINF:3.333
201610130651/32_3.333_4.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:36Z
#EXTINF:3.333
201610130651/36_3.333_5.ts
直播回放的请求URL:
http://XXXX/XXX/xxxx.m3u8?beginTime=20161013065122&endTime=20161013065136
直播回放的请求返回:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:22Z
#EXTINF:3.333
201610130651/22_3.333_1.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:26Z
#EXTINF:3.333
201610130651/26_3.333_2.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:29Z
#EXTINF:3.334
201610130651/29_3.334_3.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:32Z
#EXTINF:3.333
201610130651/32_3.333_4.ts
#EXT-X-PROGRAM-DATE-TIME:2016-10-13T06:51:36Z
#EXTINF:3.333
201610130651/36_3.333_5.ts
#EXT-X-ENDLIST
综上,根据本发明提供的一种基于hls协议的直播时移方案,通过简单的参数控制来实现时移回看、直播回放的切换,通过特有的位置存储原理来实现无数据库化,提高时移请求处理的效率。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (2)
1.一种基于hls协议的直播时移方案,其特征在于,包括监测模块、第一计算模块、第一过滤模块、存储模块、第二过滤模块、第二计算模块和整合模块,
所述监测模块用于记录直播源的变化,
所述第一计算模块用于将直播产生的切片名称转换为时移服务特有名称,且所述第一计算模块用于将当前所述直播源作唯一标识,
所述第一过滤模块用于对所述切片的所属的时间点进行过滤,并将同一时段的所述切片作统一存储处理,
所述存储模块用于把经过所述第一计算模块及所述第一过滤模块处理后的所述切片归档并作缓存处理,
所述第二过滤模块用于过滤时移请求参数及校验参数有效性,
所述第二计算模块用于针对请求的时间参数计算所需时移的所述切片位置,
所述整合模块用于更新获取到的所述切片路径。
2.根据权利要求1所述的一种基于hls协议的直播时移方案,其特征在于,所述监测模块监控所述直播源的m3u8文件并判断是否生成新的ts切片,当生成新的所述ts切片则视为所述直播源的变化并记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611271879.9A CN106657123A (zh) | 2016-12-30 | 2016-12-30 | 一种基于hls协议的直播时移方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611271879.9A CN106657123A (zh) | 2016-12-30 | 2016-12-30 | 一种基于hls协议的直播时移方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106657123A true CN106657123A (zh) | 2017-05-10 |
Family
ID=58838286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611271879.9A Pending CN106657123A (zh) | 2016-12-30 | 2016-12-30 | 一种基于hls协议的直播时移方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106657123A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413443A (zh) * | 2017-08-16 | 2019-03-01 | 中国移动通信有限公司研究院 | 一种时移功能的实现方法及装置 |
CN110881146A (zh) * | 2019-09-12 | 2020-03-13 | 北京阳光云视科技有限公司 | 一种基于切片模式的时移系统 |
CN114173145A (zh) * | 2021-12-08 | 2022-03-11 | 四川启睿克科技有限公司 | 一种基于hls协议动态码率低延迟直播方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506967A (zh) * | 2015-01-05 | 2015-04-08 | 百视通网络电视技术发展有限责任公司 | Udp直播流到hls直播流的实时转换方法及系统 |
CN105208465A (zh) * | 2015-09-23 | 2015-12-30 | 青岛海信传媒网络技术有限公司 | 在直播节目中插入插播节目的方法以及服务器 |
CN105282627A (zh) * | 2014-07-22 | 2016-01-27 | 中兴通讯股份有限公司 | 一种获取直播视频切片的方法及服务器 |
CN105979404A (zh) * | 2015-12-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种流媒体的处理方法及装置 |
-
2016
- 2016-12-30 CN CN201611271879.9A patent/CN106657123A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282627A (zh) * | 2014-07-22 | 2016-01-27 | 中兴通讯股份有限公司 | 一种获取直播视频切片的方法及服务器 |
CN104506967A (zh) * | 2015-01-05 | 2015-04-08 | 百视通网络电视技术发展有限责任公司 | Udp直播流到hls直播流的实时转换方法及系统 |
CN105208465A (zh) * | 2015-09-23 | 2015-12-30 | 青岛海信传媒网络技术有限公司 | 在直播节目中插入插播节目的方法以及服务器 |
CN105979404A (zh) * | 2015-12-01 | 2016-09-28 | 乐视致新电子科技(天津)有限公司 | 一种流媒体的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
罗淑贞等: "基于HLS协议的流媒体直播系统的研究和改进", 《郑州大学学报(工学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413443A (zh) * | 2017-08-16 | 2019-03-01 | 中国移动通信有限公司研究院 | 一种时移功能的实现方法及装置 |
CN109413443B (zh) * | 2017-08-16 | 2021-03-16 | 中国移动通信有限公司研究院 | 一种时移功能的实现方法及装置 |
CN110881146A (zh) * | 2019-09-12 | 2020-03-13 | 北京阳光云视科技有限公司 | 一种基于切片模式的时移系统 |
CN114173145A (zh) * | 2021-12-08 | 2022-03-11 | 四川启睿克科技有限公司 | 一种基于hls协议动态码率低延迟直播方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735800B2 (en) | Rendering content and time-shifted playback operations for personal over-the-top network video recorder | |
CN102231860B (zh) | 一种直播时移数据存储方法 | |
CN103324696B (zh) | 一种数据日志收集与统计分析系统和方法 | |
CN106454493B (zh) | 当前播放的电视节目信息查询方法及智能电视 | |
CN109729371B (zh) | 一种基于hls协议多级管理的直播时移系统及方法 | |
CN104221391B (zh) | 同位体辅助的视频分发 | |
CN101668194B (zh) | 一种基于内容分片的广告插入、播放方法及装置 | |
CN109819345B (zh) | 直播视频的处理、时移方法、视频处理装置及云存储系统 | |
CN106657123A (zh) | 一种基于hls协议的直播时移方案 | |
CN103517157B (zh) | 实现hls频道时移播放的方法及系统 | |
CN101901620A (zh) | 视频内容索引文件的自动产生、编辑方法与应用 | |
CN105989048B (zh) | 一种数据记录处理方法、设备及系统 | |
CN103916718A (zh) | 基于视频片段进行视频播放的方法和系统 | |
CN103716370B (zh) | 在多个客户端之间进行数据同步的方法和装置 | |
RU2008126176A (ru) | Система и способ выдачи напоминаний об услуге ip-телевидения (iptv) | |
CN110113626A (zh) | 一种回放直播视频的方法及装置 | |
CN104699682B (zh) | 信息处理方法和装置 | |
CN106658054A (zh) | 一种视频广告请求链路优化方法和装置 | |
CN107801051A (zh) | 虚拟切片信息传输方法和装置、视频服务器 | |
KR100809641B1 (ko) | 이종 시스템간의 컨텐츠 교환 방법 및 그 방법을 수행하는컨텐츠 관리 시스템 | |
CN105357544A (zh) | 一种基于hls的多媒体文件处理方法及服务器 | |
CN113660517A (zh) | 视频文件的存储方法及装置、存储介质、电子装置 | |
CN106663048A (zh) | 日志记录系统、日志记录装置、数据日志记录方法 | |
CN103780644A (zh) | 文件的同步方法 | |
CN103220587A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310000 E, 16 floor, A block, Paradise software garden, 3 West Gate Road, Xihu District, Hangzhou, Zhejiang. Applicant after: Hangzhou Dang Hong Polytron Technologies Inc Address before: 310000 E, 16 floor, A block, Paradise software garden, 3 West Gate Road, Xihu District, Hangzhou, Zhejiang. Applicant before: HANGZHOU DANGHONG TECHNOLOGY CO., LTD. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170510 |