CN106982395B - 基于hls的p2p直播系统及方法 - Google Patents

基于hls的p2p直播系统及方法 Download PDF

Info

Publication number
CN106982395B
CN106982395B CN201710121323.XA CN201710121323A CN106982395B CN 106982395 B CN106982395 B CN 106982395B CN 201710121323 A CN201710121323 A CN 201710121323A CN 106982395 B CN106982395 B CN 106982395B
Authority
CN
China
Prior art keywords
hls
chunk
index
live
live broadcast
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.)
Expired - Fee Related
Application number
CN201710121323.XA
Other languages
English (en)
Other versions
CN106982395A (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.)
Yunshang Co ltd
Original Assignee
Yunshang 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 Yunshang Co ltd filed Critical Yunshang Co ltd
Priority to CN201710121323.XA priority Critical patent/CN106982395B/zh
Publication of CN106982395A publication Critical patent/CN106982395A/zh
Application granted granted Critical
Publication of CN106982395B publication Critical patent/CN106982395B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Abstract

本发明公开了一种基于HLS的P2P直播系统及方法,基于HLS的P2P直播系统包括:HLS服务器,从HLS直播源获取多个TS文件,并建立虚拟文件与TS文件的映射关系;边缘服务器,对虚拟文件进行chunk分片,分发chunk到不同的seed节点;m3u8服务器,建立当前直播的m3u8索引,使用虚拟文件的chunk分片作为m3u8索引的单个索引值;播放端,接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;播放端根据获取的m3u8索引计算chunk信息,从不同的seed节点获取chunk组成直播流。本发明将多个TS文件当作一个虚拟文件,简化P2P分片和获取。

Description

基于HLS的P2P直播系统及方法
技术领域
本发明涉及一种P2P(Peer to Peer,对等网络)直播技术领域,特别是涉及一种基于HLS(HTTP Live Streaming,苹果公司实现的基于HTTP的流媒体传输协议)的P2P直播系统及方法。
背景技术
在现有技术中,目前P2P被广泛应用在文件下载、流媒体等领域,传统P2P技术应用于直播领域时,存在延时大、上传带宽利用率低等问题。为此我们在专利[1]中提出使用基于纠删码的P2P直播技术,简述如下:
边缘服务器将视频流数据切分成数据块(chunk),对每个chunk应用纠删码生成冗余的编码片段,再将编码片段分发给seed节点(种子节点),seed节点再将编码片段分发给播放端节点。播放端节点取得足够多编码片段后解码恢复原始chunk。如果某个播放端节点无法通过seed节点获得某个chunk足够多的编码片段,则向边缘服务器请求更多的编码片段,直到该chunk可以被解码。chunk被解码后,视频数据被发送给播放器以供播放。
然而上述技术不支持基于HLS的直播系统。鉴于HLS直播在互联网上的广泛应用,本专利对上述P2P直播技术进行了拓展,使之能够兼容HLS直播。
发明内容
本发明要解决的技术问题是为了让已有的P2P直播技术兼容HLS,提供一种基于HLS的P2P直播系统及方法。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种基于HLS的P2P直播系统,其特点在于,包括:
HLS服务器,用于从HLS直播源获取多个TS(高清摄像机拍摄下进行的封装格式)文件,并建立一虚拟文件与所述多个TS文件之间的映射关系;
边缘服务器,用于对所述虚拟文件进行chunk(信息块)分片,并分发chunk到不同的seed节点(种子节点)上;
m3u8服务器,用于建立当前直播的m3u8索引,使用所述虚拟文件的chunk分片作为所述m3u8索引的单个索引值;
播放端,用于接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;
所述播放端还用于根据获取的m3u8索引计算出chunk信息,并从不同的seed节点获取chunk组成直播流。
较佳地,所述边缘服务器还用于使用纠删码对所述chunk进行编码,并分发编码片段到所述seed节点。
较佳地,所述播放端还用于使用纠删码对从seed节点收到的编码片段进行解码并恢复chunk。
较佳地,所述边缘服务器用于使用固定的chunk大小对所述虚拟文件进行chunk分片。
本发明的目的在于还提供了一种基于HLS的P2P直播方法,其特点在于,其利用上述的基于HLS的P2P直播系统实现,所述P2P直播方法包括以下步骤:
S1、所述HLS服务器从HLS直播源获取多个TS文件,并建立一虚拟文件与所述多个TS文件之间的映射关系;
S2、所述边缘服务器对所述虚拟文件进行chunk分片,并分发chunk到不同的seed节点上;
S3、所述m3u8服务器建立当前直播的m3u8索引,使用所述虚拟文件的chunk分片作为所述m3u8索引的单个索引值;
S4、所述播放端接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;
S5、所述播放端根据获取的m3u8索引计算出chunk信息,并从不同的seed节点获取chunk组成直播流。
较佳地,在步骤S2中,所述边缘服务器还用于使用纠删码对所述chunk进行编码,并分发编码片段到所述seed节点。
较佳地,在步骤S5中,所述播放端还用于使用纠删码对从seed节点收到的编码片段进行解码并恢复chunk。
较佳地,步骤S2中所述边缘服务器使用固定的chunk大小对所述虚拟文件进行chunk分片。
本发明的积极进步效果在于:本发明将多个HLS TS文件当作一个虚拟大文件,简化了P2P分片和获取,保证每个chunk全局保持一致,并使得请求的文件不因时间而发生改变;同时,本发明使用纠删码来进行P2P分发,使seed节点的上传带宽得到充分利用。
附图说明
图1为本发明的较佳实施例的基于HLS的P2P直播系统的模块示意图。
图2为本发明的较佳实施例的基于HLS的P2P直播方法的流程图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
如图1所示,本发明的基于HLS的P2P直播系统包括HLS服务器1、边缘服务器2、m3u8服务器3以及播放端4,其中,所述播放端4的数量可以为多个;
所述HLS服务器用于从HLS直播源获取多个TS文件,并建立一虚拟文件与所述多个TS文件之间的映射关系,从而将所有TS文件作为单个虚拟大文件的一个小段;
所述边缘服务器用于对所述虚拟文件进行chunk分片,并分发chunk到不同的seed节点上;其中,优选地,所述边缘服务器用于使用固定的chunk大小对所述虚拟文件进行chunk分片。其中,优选地,所述边缘服务器使用纠删码对所述chunk进行编码,并分发编码片段到不同的seed节点上。
所述m3u8服务器则用于建立当前直播的m3u8索引,使用所述虚拟文件的chunk分片作为所述m3u8索引的单个索引值,从而实现了对原有HLS协议的m3u8索引文件进行改写,使得每个m3u8索引都指向一个虚拟文件的特定一段;
所述播放端用于接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;
所述播放端还用于根据获取的m3u8索引计算出chunk信息(如chunkID),并从不同的seed节点获取chunk组成直播流。
所述播放端还用于将从seed节点处获取的编码片段应用纠删解码恢复为原始chunk。
如图2所示,本发明还提供了一种基于HLS的P2P直播方法,其利用上述的基于HLS的P2P直播系统实现,所述基于HLS的P2P直播方法包括以下步骤:
步骤101、所述HLS服务器从HLS直播源获取多个TS文件,并建立一虚拟文件与所述多个TS文件之间的映射关系;
步骤102、所述边缘服务器对所述虚拟文件进行chunk分片,并分发chunk到不同的seed节点上;
步骤103、所述m3u8服务器建立当前直播的m3u8索引,使用所述虚拟文件的chunk分片作为所述m3u8索引的单个索引值;
步骤104、所述播放端接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;
步骤105、所述播放端根据获取的m3u8索引计算出chunk信息,并从不同的seed节点获取chunk组成直播流。
其中,在步骤102中所述边缘服务器使用固定的chunk大小对所述虚拟文件进行chunk分片。
其中,在步骤102中所述的边缘服务器对所述chunk应用纠删编码,并分发编码片段到不同的seed节点上。
其中,在步骤105中所述的播放端还用于将从seed节点处获取的编码片段应用纠删解码恢复为原始chunk。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (8)

1.一种基于HLS的P2P直播系统,其特征在于,包括:
HLS服务器,用于从HLS直播源获取多个TS文件,并建立一虚拟文件与所述多个TS文件之间的映射关系;
边缘服务器,用于对所述虚拟文件进行chunk分片,并分发chunk到不同的seed节点上;
m3u8服务器,用于建立当前直播的m3u8索引,使用所述虚拟文件的chunk分片作为所述m3u8索引的单个索引值;
播放端,用于接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;
所述播放端还用于根据获取的m3u8索引计算出chunk信息,并从不同的seed节点获取chunk组成直播流。
2.如权利要求1所述的基于HLS的P2P直播系统,其特征在于,所述边缘服务器还用于使用纠删码对所述chunk进行编码,并分发编码片段到所述seed节点。
3.如权利要求2所述的基于HLS的P2P直播系统,其特征在于,所述播放端还用于使用纠删码对从seed节点收到的编码片段进行解码并恢复chunk。
4.如权利要求1所述的基于HLS的P2P直播系统,其特征在于,所述边缘服务器用于使用固定的chunk大小对所述虚拟文件进行chunk分片。
5.一种基于HLS的P2P直播方法,其特征在于,其利用如权利要求1所述的基于HLS的P2P直播系统实现,所述P2P直播方法包括以下步骤:
S1、所述HLS服务器从HLS直播源获取多个TS文件,并建立一虚拟文件与所述多个TS文件之间的映射关系;
S2、所述边缘服务器对所述虚拟文件进行chunk分片,并分发chunk到不同的seed节点上;
S3、所述m3u8服务器建立当前直播的m3u8索引,使用所述虚拟文件的chunk分片作为所述m3u8索引的单个索引值;
S4、所述播放端接收播放器的直播请求,获取对应的m3u8索引并发送至播放器;
S5、所述播放端根据获取的m3u8索引计算出chunk信息,并从不同的seed节点获取chunk组成直播流。
6.如权利要求5所述的基于HLS的P2P直播方法,其特征在于,在步骤S2中,所述边缘服务器还用于使用纠删码对所述chunk进行编码,并分发编码片段到所述seed节点。
7.如权利要求6所述的基于HLS的P2P直播方法,其特征在于,在步骤S5中,所述播放端还用于使用纠删码对从seed节点收到的编码片段进行解码并恢复chunk。
8.如权利要求5所述的基于HLS的P2P直播方法,其特征在于,步骤S2中所述边缘服务器使用固定的chunk大小对所述虚拟文件进行chunk分片。
CN201710121323.XA 2017-03-02 2017-03-02 基于hls的p2p直播系统及方法 Expired - Fee Related CN106982395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710121323.XA CN106982395B (zh) 2017-03-02 2017-03-02 基于hls的p2p直播系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710121323.XA CN106982395B (zh) 2017-03-02 2017-03-02 基于hls的p2p直播系统及方法

Publications (2)

Publication Number Publication Date
CN106982395A CN106982395A (zh) 2017-07-25
CN106982395B true CN106982395B (zh) 2020-02-14

Family

ID=59338722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710121323.XA Expired - Fee Related CN106982395B (zh) 2017-03-02 2017-03-02 基于hls的p2p直播系统及方法

Country Status (1)

Country Link
CN (1) CN106982395B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108650481B (zh) * 2018-04-19 2021-08-10 北京软通智慧城市科技有限公司 一种视频流数据的存储方法及装置
CN111064969B (zh) * 2018-10-16 2023-07-11 中兴通讯股份有限公司 一种流媒体数据传输方法、设备、装置和计算机存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534204B (zh) * 2008-03-10 2011-08-31 中国网通集团宽带业务应用国家工程实验室有限公司 流媒体信息分发系统和方法及客户端
US9106934B2 (en) * 2013-01-29 2015-08-11 Espial Group Inc. Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol
CN104333818A (zh) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 一种http实时流媒体分片的拼接方法及拼接系统
WO2016074149A1 (en) * 2014-11-11 2016-05-19 21 Vianet Group, Inc. Expedited media content delivery

Also Published As

Publication number Publication date
CN106982395A (zh) 2017-07-25

Similar Documents

Publication Publication Date Title
USRE49290E1 (en) Method and apparatus for streaming media content to client devices
CN106233735B (zh) 管理多播视频传送的方法
CN107743703B (zh) 用于媒体数据传输的方法、设备及计算机可读存储介质
US9544344B2 (en) Method and apparatus for streaming media content to client devices
TWI623226B (zh) 用於儲存媒體片段之基於目錄限制之系統及方法
JP5728736B2 (ja) コーデック適用フレーム・サイズでの音声スプリッティング
US20170171287A1 (en) Requesting multiple chunks from a network node on the basis of a single request message
CN105282627A (zh) 一种获取直播视频切片的方法及服务器
CN102656857B (zh) 一种启动阶段的流媒体数据获取、发送方法及装置
US20170238040A1 (en) Method, computer program product and server for streaming media content from a server to a client
AU2003201700A1 (en) Targeted scalable video multicast based on client bandwidth or capability
CN106790005B (zh) 实现低延时hls直播的系统及方法
CN104661058A (zh) Mp4视频点播的数据流传输方法、客户端及点播系统
EP3652951A1 (en) Fast tune-in for low latency streaming
WO2015192683A1 (zh) 一种基于码流自适应技术的内容分发方法、装置及系统
CN106982395B (zh) 基于hls的p2p直播系统及方法
US20170347130A1 (en) Processing system and method for live video streaming based on network coding and content distribution network
RU2651241C2 (ru) Передающее устройство, способ передачи, приемное устройство и способ приема
CN106385627B (zh) 视频编码方法和装置
CN107070923B (zh) 减少编码片段重复的p2p直播系统及方法
CN106254548A (zh) 一种下载流媒体数据的方法及装置
JP2007324876A (ja) データ送信装置、データ受信装置、データ送信方法、データ受信方法、及びプログラム
WO2019193991A1 (ja) 配信装置、配信方法、およびプログラム
CN103796035A (zh) 一种处理分段节目的方法、服务器及客户端设备
CN109286856A (zh) 加速启播的p2p直播系统及方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200214

CF01 Termination of patent right due to non-payment of annual fee