CN106791993B - P2p直播系统及p2p直播方法 - Google Patents

P2p直播系统及p2p直播方法 Download PDF

Info

Publication number
CN106791993B
CN106791993B CN201611248954.XA CN201611248954A CN106791993B CN 106791993 B CN106791993 B CN 106791993B CN 201611248954 A CN201611248954 A CN 201611248954A CN 106791993 B CN106791993 B CN 106791993B
Authority
CN
China
Prior art keywords
file
live
http
processing routine
finger daemon
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
CN201611248954.XA
Other languages
English (en)
Other versions
CN106791993A (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.)
Shanghai Cloud Entropy Network Technology Co Ltd
Original Assignee
Shanghai Cloud Entropy Network 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 Shanghai Cloud Entropy Network Technology Co Ltd filed Critical Shanghai Cloud Entropy Network Technology Co Ltd
Priority to CN201611248954.XA priority Critical patent/CN106791993B/zh
Publication of CN106791993A publication Critical patent/CN106791993A/zh
Application granted granted Critical
Publication of CN106791993B publication Critical patent/CN106791993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种P2P直播系统及P2P直播方法,P2P直播系统包括HTTP服务器、HLS解析服务器以及播放端;播放端安装有直播处理程序,直播处理程序在本地启动http守护进程;直播处理程序从HTTP服务器获取视频数据,从HLS解析服务器中获取m3u8列表文件;直播处理程序在本地生成若干第一文件片段,并插入至m3u8列表文件的当前待播放的视频文件片段之前,以在本地修改m3u8列表文件;播放端在P2P直播过程中从http守护进程请求并获取修改后的m3u8列表文件,并在解析后从http守护进程请求并获取若干第一文件片段和当前待播放的视频文件片段以进行播放。本发明能够加快启播速度并且降低延迟。

Description

P2P直播系统及P2P直播方法
技术领域
本发明涉及一种P2P(Peer to Peer,对等网络)直播技术领域,特别是涉及一种在HLS(HTTP Live Streaming,苹果公司实现的基于HTTP的流媒体传输协议)中加快启播速度和降低延迟的P2P直播系统及P2P直播方法。
背景技术
HLS是苹果公司实现的基于HTTP(HyperText Transfer Protocol,超文本传输协议)的流媒体传输协议,可以实现流媒体的直播和点播,主要应用在iPhone、iPod、iTouch和iPad等移动终端上。
对于直播来说,其工作原理是将直播流切分成TS媒体文件,同时生成m3u8索引文件,播放端按照m3u8索引文件顺序依次下载每个媒体文件进行播放。
现有HLS技术所存在的问题是启播慢和延迟高,启播时间是指从点击播放器的播放按钮到视频可以被正常播放所产生的时间(通俗来讲,启播速度主要就是看打开视频的快慢);而延迟则是指一个视频帧从被生产出来到被消费掉的时间差(或者说是,用户端播放的画面和现场画面的时间差)。现有HLS技术存在的启播慢和延迟高的主要原因在于,HLS协议建议播放器缓存3个segment(视频文件片段)才开始播放,而一个segment通常的时间是10s,即在播放过程中播放器缓存便引入了30s的延迟,在启播时,播放端需要下载30s的视频内容才能播放,在带宽受限的情况下需要很长时间才能完成下载。
现有技术中针对启播慢和延迟高的技术问题,所提供的解决方案有:
方案1,缩短每个segment的时间,例如将10s的播放内容缩短成5s,但HLS要求每个segment能够独立播放,也就是说每个segment至少需要一个I帧,I帧需要的字节数远高于其他视频帧,所以缩短segment带来的负面效果就是降低了视频的压缩效率;
方案2,优化播放器,例如只需要缓存一个segment,就可以开始进行播放。但对于提供视频服务的人来说,市场上有很多第三方实现的播放器是无法控制的,所以也不能100%解决上述问题。
发明内容
本发明要解决的技术问题是为了克服现有技术中HLS技术存在启播慢和延迟高的问题并且没有很好的解决方案的缺陷,提供一种在HLS中加快启播速度和降低延迟的P2P直播系统及P2P直播方法。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供了一种P2P直播系统,其特点在于,包括HTTP服务器、HLS解析服务器以及播放端;所述播放端安装有一直播处理程序,所述直播处理程序用于在本地启动一http守护进程;
所述直播处理程序用于从所述HTTP服务器获取视频数据,以及从所述HLS解析服务器中获取m3u8列表文件;
所述直播处理程序还用于在P2P直播过程中在本地生成若干第一文件片段,并将所述若干第一文件片段插入至m3u8列表文件的当前待播放的视频文件片段之前,以在本地修改m3u8列表文件;所述第一文件片段包括但不限于一帧黑屏画面文件片段或无画面文件片段;
所述播放端用于在P2P直播过程中从所述http守护进程请求并获取修改后的m3u8列表文件,并在解析后根据请求参数向所述http守护进程请求,所述http守护进程根据请求参数将指定位置的所述若干第一文件片段和所述当前待播放的视频文件片段返回给播放端用以播放。
较佳地,所述第一文件片段的时长不超过1s。
较佳地,所述第一文件片段的数量为2个。
较佳地,所述P2P直播过程包括启播过程以及播放过程。
本发明的目的在于还提供了一种P2P直播方法,其特点在于,其利用上述的P2P直播系统实现,所述P2P直播方法包括以下步骤:
S1、所述直播处理程序从所述HTTP服务器获取视频数据,以及从所述HLS解析服务器中获取m3u8列表文件;
S2、所述直播处理程序在P2P直播过程中在本地生成若干第一文件片段,并将所述若干第一文件片段插入至m3u8列表文件的当前待播放的视频文件片段之前,以在本地修改m3u8列表文件;所述第一文件片段包括但不限于一帧黑屏画面文件片段或无画面文件片段;
S3、所述播放端在P2P直播过程中从所述http守护进程请求并获取修改后的m3u8列表文件,并在解析后根据请求参数向所述http守护进程请求,所述http守护进程根据请求参数将指定位置的所述若干第一文件片段和所述当前待播放的视频文件片段返回给播放端用以播放。
较佳地,所述第一文件片段的时长不超过1s。
较佳地,所述第一文件片段的数量为2个。
较佳地,所述P2P直播过程包括启播过程以及播放过程。
本发明的积极进步效果在于:本发明通过在播放端安装本地程序,并且本地程序只需要下载到一个视频文件片段,播放端就能获取若干第一文件片段以及下载的视频文件片段,从而可以实现直接播放下载的视频文件片段,从而将延迟大致缩短到一个视频文件片段的时间,在启播时只需要下载一个视频文件片段即可,从而达到了加快启播速度并且降低延迟的目的。
附图说明
图1为本发明的较佳实施例的P2P直播系统的模块示意图。
图2为本发明的较佳实施例的P2P直播方法的流程图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
如图1所示,本发明的P2P直播系统包括HTTP服务器1、HLS解析服务器2以及播放端3,其中所述播放端3的数量可以有很多个,具体可以根据实际情况进行设置;
所述播放端3的本地安装有一个直播处理程序(SDK),所述直播处理程序用于在本地启动一个HTTP守护进程,例如http://127.0.0.1:xxx/;
在本发明中,所述直播处理程序用于从所述HTTP服务器1获取视频数据,以及从所述HLS解析服务器2中获取对应的m3u8列表文件;
所述直播处理程序还用于在P2P直播过程中生成2个时长极短的第一文件片段,并将2个第一文件片段插入至m3u8列表文件的当前待播放的视频文件片段之前,以实现在本地修改m3u8列表文件;其中,所述第一文件片段可以包括但不限于一帧黑屏画面文件片段或无画面文件片段,其具体时长可设置为不超过1s;
所述播放端3则用于在P2P直播过程中从所述http守护进程请求并获取修改后的m3u8列表文件,并在解析修改后的m3u8列表文件后根据请求参数(即start/end参数)向所述http守护进程请求,所述http守护进程根据请求参数将指定位置的所述2个第一文件片段和所述当前待播放的视频文件片段返回给播放端用以播放,由于所述2个第一文件片段的时长极短,从而就相当于在播放端直接播放所述当前待播放的视频文件片段,即实现了将延迟大致缩短到一个视频文件片段的时间,并且在启播时只需要下载一个视频文件片段即可,从而达到加快启播速度的目的。
在本发明的具体实施过程中,所述P2P直播过程具体包括启播过程以及播放过程,在启播时,播放端本地生成2个极短的第一文件片段,插入到m3u8文件列表的开头,播放端拿到2个第一文件片段和当前待播放的视频文件片段即可开始播放;在播放过程中,会使用2个极短的第一文件片段作为最新的m3u8文件列表的开头,即直播处理程序下载到一个当前待播放的视频文件片段,播放端便可进行播放。
下面举一个简单的例子对本发明与现有技术的实现方法进行比较:
如下表1、表2所示,其中a、b、c和1、2、3即为m3u8文件的索引,a.ts、b.ts、c.ts、1.ts、2.ts、3.ts即为文件片段,后面对应的时间表示该文件片段的时长,另外,c.ts和3.ts分别为最接近当前播放时间的文件片段;
表1现有技术实现方法
表2本发明实现方法
在现有技术中,播放端需要缓存a.ts、b.ts、c.ts3个文件片段才能开始播放,而在本发明中,用一帧黑屏画面文件片段或无画面文件片段(时长为0.1s)来替换掉原先的1.ts、2.ts中的内容,以缩短1.ts、2.ts的时长,从而播放端的直播处理程序只需要下载到一个视频文件片段,播放端的播放器就可以能到3个文件片段(包括两个时长为0.1s的文件片段),从而将延迟大致缩短到一个视频文件片段的时间,并且在启播时只需要下载一个视频文件片段即可,从而达到加快启播速度的目的。
当然在本发明的具体实施过程中,第一文件片段的数量也不限于2个,可以根据实际情况进行调整,第一文件片段的时长也可以根据实际情况进行设置。
本发明还提供了一种P2P直播方法,其利用上述的P2P直播系统实现,如图2所示,本发明的P2P直播方法包括以下步骤:
步骤101、所述直播处理程序从所述HTTP服务器获取视频数据,以及从所述HLS解析服务器中获取m3u8列表文件;
步骤102、所述直播处理程序在P2P直播过程中在本地生成2个第一文件片段,并将所述2个第一文件片段插入至m3u8列表文件的当前待播放的视频文件片段之前,以在本地修改m3u8列表文件;所述第一文件片段包括但不限于一帧黑屏画面文件片段或无画面文件片段;
步骤103、所述播放端在P2P直播过程中从所述http守护进程请求并获取修改后的m3u8列表文件,并在解析后根据请求参数向所述http守护进程请求,所述http守护进程根据请求参数将指定位置的所述若干第一文件片段和所述当前待播放的视频文件片段返回给播放端用以播放。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (4)

1.一种P2P直播系统,其特征在于,包括HTTP服务器、HLS解析服务器以及播放端;所述播放端安装有一直播处理程序,所述直播处理程序用于在本地启动一http守护进程;
所述直播处理程序用于从所述HTTP服务器获取视频数据,以及从所述HLS解析服务器中获取m3u8列表文件;
所述直播处理程序还用于在P2P直播过程中在本地生成若干第一文件片段,并将所述若干第一文件片段插入至m3u8列表文件的当前待播放的视频文件片段之前,以在本地修改m3u8列表文件;所述第一文件片段包括但不限于一帧黑屏画面文件片段或无画面文件片段;
所述第一文件片段的时长不超过1s;
所述第一文件片段的数量为2个;
所述播放端用于在P2P直播过程中从所述http守护进程请求并获取修改后的m3u8列表文件,并在解析后根据请求参数向所述http守护进程请求,所述http守护进程根据请求参数将指定位置的所述若干第一文件片段和所述当前待播放的视频文件片段返回给播放端用以播放。
2.如权利要求1所述的P2P直播系统,其特征在于,所述P2P直播过程包括启播过程以及播放过程。
3.一种P2P直播方法,其特征在于,其利用如权利要求1所述的P2P直播系统实现,所述P2P直播方法包括以下步骤:
S1、所述直播处理程序从所述HTTP服务器获取视频数据,以及从所述HLS解析服务器中获取m3u8列表文件;
S2、所述直播处理程序在P2P直播过程中在本地生成若干第一文件片段,并将所述若干第一文件片段插入至m3u8列表文件的当前待播放的视频文件片段之前,以在本地修改m3u8列表文件;所述第一文件片段包括但不限于一帧黑屏画面文件片段或无画面文件片段;
所述第一文件片段的时长不超过1s;
所述第一文件片段的数量为2个;
S3、所述播放端在P2P直播过程中从所述http守护进程请求并获取修改后的m3u8列表文件,并在解析后根据请求参数向所述http守护进程请求,所述http守护进程根据请求参数将指定位置的所述若干第一文件片段和所述当前待播放的视频文件片段返回给播放端用以播放。
4.如权利要求3所述的P2P直播方法,其特征在于,所述P2P直播过程包括启播过程以及播放过程。
CN201611248954.XA 2016-12-29 2016-12-29 P2p直播系统及p2p直播方法 Active CN106791993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611248954.XA CN106791993B (zh) 2016-12-29 2016-12-29 P2p直播系统及p2p直播方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611248954.XA CN106791993B (zh) 2016-12-29 2016-12-29 P2p直播系统及p2p直播方法

Publications (2)

Publication Number Publication Date
CN106791993A CN106791993A (zh) 2017-05-31
CN106791993B true CN106791993B (zh) 2019-08-09

Family

ID=58928191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611248954.XA Active CN106791993B (zh) 2016-12-29 2016-12-29 P2p直播系统及p2p直播方法

Country Status (1)

Country Link
CN (1) CN106791993B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640191A (zh) * 2017-10-09 2019-04-16 武汉斗鱼网络科技有限公司 一种连麦直播的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578263A (zh) * 2015-12-28 2016-05-11 山东泰信电子股份有限公司 播放、传输直播节目的方法及智能播放设备、直播设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8752112B2 (en) * 2012-04-12 2014-06-10 Google Inc. Live streaming video processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578263A (zh) * 2015-12-28 2016-05-11 山东泰信电子股份有限公司 播放、传输直播节目的方法及智能播放设备、直播设备

Also Published As

Publication number Publication date
CN106791993A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN104683884B (zh) 一种流媒体直播方法及系统
EP2391086B1 (en) Method and apparatus for playing live content
CN107135417B (zh) 一种hls协议的投屏方法及系统
US9615119B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
CN103957469B (zh) 基于实时转封装的互联网视频点播方法及系统
CN104125516B (zh) 媒体文件接收、媒体文件发送方法和装置及系统
CN103686245B (zh) 一种基于hls协议的点播与直播切换方法和装置
WO2017028675A1 (zh) 直播频道播放方法、装置及系统
TWI616097B (zh) 串流裝置及方法、串流服務系統及記錄介質
CN104378662B (zh) 一种智能电视判断用户有效收视节目的系统和方法
US11356493B2 (en) Systems and methods for cloud storage direct streaming
CN107396205A (zh) 一种低延时流化hls实现方法
CN106331084B (zh) 软件后台自适应升级方法及装置
CN107820115A (zh) 实现视频信息预览的方法、装置及客户端和存储介质
CN104125229A (zh) 流媒体的播放方法与播放装置
WO2015192683A1 (zh) 一种基于码流自适应技术的内容分发方法、装置及系统
WO2013097454A1 (zh) 一种视频插播的方法、装置及系统
CN104053026A (zh) 一种数字电视机顶盒开机视频广告的接收及播放方法及系统
KR102494266B1 (ko) 방송 시스템에서 방송 서비스 정보 제공 방법 및 장치
CN108933764A (zh) 一种实现快速起播的方法和装置
CN113727199A (zh) 一种hls切片快速起播方法
CN105812847A (zh) Hls视频直播方法、服务器及系统
WO2015154549A1 (zh) 数据的处理方法及装置
CN113923502B (zh) 直播视频播放方法及装置
US20170013037A1 (en) Media fragment rotation method, client and system

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