CN106791993B - P2p直播系统及p2p直播方法 - Google Patents
P2p直播系统及p2p直播方法 Download PDFInfo
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000012634 fragment Substances 0.000 claims abstract description 44
- 238000009331 sowing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26258—Content 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
-
- 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/434—Disassembling 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/4345—Extraction or processing of SI, e.g. extracting service information from an MPEG stream
-
- 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/60—Network 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/63—Control 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/632—Control 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
-
- 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/60—Network 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/63—Control 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/643—Communication protocols
-
- 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/81—Monomedia components thereof
- H04N21/8126—Monomedia 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(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直播过程包括启播过程以及播放过程。
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 Expired - Fee Related CN106791993B (zh) | 2016-12-29 | 2016-12-29 | P2p直播系统及p2p直播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106791993B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109640191A (zh) * | 2017-10-09 | 2019-04-16 | 武汉斗鱼网络科技有限公司 | 一种连麦直播的方法和装置 |
CN113938760B (zh) * | 2020-07-14 | 2024-05-31 | 北京金山云网络技术有限公司 | 一种多媒体资源的传输方法、系统和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578263A (zh) * | 2015-12-28 | 2016-05-11 | 山东泰信电子股份有限公司 | 播放、传输直播节目的方法及智能播放设备、直播设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8752112B2 (en) * | 2012-04-12 | 2014-06-10 | Google Inc. | Live streaming video processing |
-
2016
- 2016-12-29 CN CN201611248954.XA patent/CN106791993B/zh not_active Expired - Fee Related
Patent Citations (1)
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 |
---|---|---|
CN103379362B (zh) | 视频点播方法和系统 | |
CN104683884B (zh) | 一种流媒体直播方法及系统 | |
EP2391086B1 (en) | Method and apparatus for playing live content | |
CN105282627B (zh) | 一种获取直播视频切片的方法及服务器 | |
CN107135417B (zh) | 一种hls协议的投屏方法及系统 | |
CN103957469B (zh) | 基于实时转封装的互联网视频点播方法及系统 | |
CN104125516B (zh) | 媒体文件接收、媒体文件发送方法和装置及系统 | |
CN103686245B (zh) | 一种基于hls协议的点播与直播切换方法和装置 | |
US10880353B2 (en) | Systems and methods for cloud storage direct streaming | |
WO2017028675A1 (zh) | 直播频道播放方法、装置及系统 | |
CN105228001B (zh) | 一种flv格式视频在线播放的方法及系统 | |
KR101743228B1 (ko) | 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체 | |
CN107396205A (zh) | 一种低延时流化hls实现方法 | |
WO2015192683A1 (zh) | 一种基于码流自适应技术的内容分发方法、装置及系统 | |
WO2013097454A1 (zh) | 一种视频插播的方法、装置及系统 | |
CN113923502B (zh) | 直播视频播放方法及装置 | |
CN108933764A (zh) | 一种实现快速起播的方法和装置 | |
CN106789976A (zh) | 媒体文件的播放方法、服务端、客户端及系统 | |
KR102494266B1 (ko) | 방송 시스템에서 방송 서비스 정보 제공 방법 및 장치 | |
CN113727199A (zh) | 一种hls切片快速起播方法 | |
CN106791993B (zh) | P2p直播系统及p2p直播方法 | |
CN105592369B (zh) | 一种视频摘要处理方法及装置 | |
CN104602046B (zh) | 一种基于hls协议的信息发布方法、设备及系统 | |
US20170013037A1 (en) | Media fragment rotation method, client and system | |
CA2913160A1 (en) | Transmission apparatus, transmission method, reception apparatus, and reception method |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190809 |