CN102651756A - 基于流式P2P直播技术的RealPlayer播放器系统及播放方法 - Google Patents
基于流式P2P直播技术的RealPlayer播放器系统及播放方法 Download PDFInfo
- Publication number
- CN102651756A CN102651756A CN2011100483164A CN201110048316A CN102651756A CN 102651756 A CN102651756 A CN 102651756A CN 2011100483164 A CN2011100483164 A CN 2011100483164A CN 201110048316 A CN201110048316 A CN 201110048316A CN 102651756 A CN102651756 A CN 102651756A
- Authority
- CN
- China
- Prior art keywords
- realplayer
- player
- rmprotocol
- request
- buffermanager
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明的一种基于流式P2P直播技术的RealPlayer播放器系统及播放方法,包括:RealPlayerActiveX控件;RealPlayerActiveX控件的容器;用于接受RealPaleryerHTTP连接请求的Http服务器;用于解析RealPlayer播放器发送的请求并响应和发送流式数据的RMProtocol;用于为了流畅播放而修改数据包时间戳的ChagneRMTime;用于存储本地收到的分属多个RM文件的流媒体数据的缓冲区BufferManager;该播放器系统屏蔽了与RealPlayer控件交互的复杂协议、适应P2P直播情况下可能丢失数据包的情况、支持多个流媒体文件的无缝平滑播放、对外接口简单易用,非常适合作为流式P2P直播时的播放器系统。
Description
技术领域
本发明涉及一种RealPlayer播放器系统,特别涉及流式P2P直播技术下的播放器系统。
背景技术
视频直播通常又称在线直播,指在事件发生的现场同步采集、制作、发布视频(通常包括音频)信息的方式。传统的视频直播多为电视台在重大事件中向电视观众发布,通常使用专业摄像机作为视频源,通过卫星作为视频传输方式。随着互联网技术的发展,出现了面向互联网发布、使用互联网作为视频传输方式的网络视频直播。
P2P(Peer-to-Peer)是一种分布式网络模型,可以简单地定义为通过直接交换共享计算机资源和服务,对等计算机兼有客户机和服务器的功能。由于P2P技术能够对资源充分发掘和利用,具备用户越多播放越流畅越稳定的特性,目前在许多领域蓬勃发展,如协同工作、即时通讯、文件传递、电子商务、网络教学等。
随着P2P技术的日臻完善,P2P技术从文件共享也逐步应用到流媒体直播中,同传统的C/S、B/S集中式模式相比较,采用分布式网络模式的P2P流媒体直播技术能够更好地在网络带宽瓶颈、延时和可靠性之间做出平衡,节省了带宽。
RM格式是Real公司对多媒体世界的一大贡献,也是对于在线影视推广的贡献。它的诞生,也使得流文件为更多人所知。这类文件可以实现即时播放,即先从服务器上下载一部分视频文件,形成视频流缓冲区后实时播放,同时继续下载,为接下来的播放做好准备。这种“边传边播”的方法避免了用户必须等待整个文件从Internet上全部下载完毕才能观看的缺点,因而特别适合在线观看影视。RM格式的视频文件大量存在。
采取P2P技术进行RM格式的文件进行视频直播的需求客观存在,在数据播放这一块直接采用Real公司的编解码SDK重新写一个播放器难度较大,最简单的方法就是通过ActiveX控件使用Real公司的RealPlayer播放器。RealPlayer播放器播放文件有两种使用方法:第一种就是播放本地的视频文件;第二种是播放网络是的流式文件。由于是直播并且为了保护硬盘考虑,不适宜采取播放本地文件的方法。RealPlayer播放器支持的最简单的流式协议是Http协议。但RealPlayer的Http协议本身是私有的而且P2P下载数据可能是不完整的,这两方面导致RealPlayer播放器使用存在难度,成为本领域技术人员亟待解决的技术课题。
发明内容
本发明的目的在于提供一种基于流式P2P直播技术的RealPlayer播放器系统及播放方法用于有效屏蔽RealPlayer播放器内部复杂的协议交互,降低P2P丢包对RealPlayer播放器的影响。
为达上述目的及其他目的,本发明采用如下技术方案:
一种基于流式P2P直播技术的RealPlayer播放器系统,其特征在于包括:
该系统包括设有RealPlayer ActiveX控件的ActiveX容器;
用于接受RealPlayerActiveX控件请求的Http服务器;
用于解析并响应ActiveX容器发送的请求并发送流媒体数据至ActiveX容器的RMProtocol模组;
用于修改上述流媒体数据的时间戳的ChagneRMTime模组以及用于存储本地收到的流媒体数据的缓冲区BufferManager。
一种基于流式P2P直播技术的RealPlayer播放方法,该方法包括以下步骤:
1)P2P下载者发现本地缓冲已经足够多的时候,通过消息发送给RealPlayer播放器;
2)RealPlayer播放器发起到Http服务器的连接请求;
3)Http服务器创建一个新的对象RMProtocol来处理RealPlayer播放器的请求;
4)RMProtocol收取到RealPlayer播放器的GET请求后发送200的响应给RealPlayer播放器;
5)RMProtocol通过GET请求中的URL标识符获取到该请求对应的BufferManager,并从BufferManager中获取到RM文件头发送给RealPlayer播放器;
6)在RMProtocol从BufferManager获取流媒体数据发送给RealPlayer播放器之前,调用ChangeRMTime模组。
本发明的播放器系统具有使用简单,有效屏蔽了RealPlayer播放器内部复杂的协议交互,解决了P2P丢包对RealPlayer播放器的影响,支持多个文件无缝切换的优点。
附图说明
图1为本发明的播放器系统的基本结构示意图。
图2为本发明的播放器系统的BufferManager数据结构图。
具体实施方式
一种基于流式P2P直播技术的RealPlayer播放器系统,其特征在于包括:
该系统包括设有RealPlayer ActiveX控件的ActiveX容器;
用于接受RealPlayerActiveX控件请求的Http服务器;
用于解析并响应ActiveX容器发送的请求并发送流媒体数据至ActiveX容器的RMProtocol模组;
用于修改上述流媒体数据的时间戳的ChagneRMTime模组以及用于存储本地收到的流媒体数据的缓冲区BufferManager。修改上述流媒体数据的时间戳的目的在于为了流畅播放。
本播放器系统外的接口简单,共分三个接口:
1)设置文件头,参数为fileId,文件头内容。
2)写数据,参数为fileId,pieceId,实际内容。
3)播放数据段,参数为开始pieceId,结束pieceId。
本播放器系统的播放受调用者控制。
BufferManager模块用来存放缓冲出来的数据块和每个RM文件的文件头,存放数据是一个变长的链表,如图2所示,链表的表项用来存储每个Piece的数据、Piece的编号、这个Piece所属的文件的Id。存放文件头的是一个Map,文件头比较重要,数据可以丢失,但文件头不能没有。
RMProtocol用来处理与RealPlayer播放器的协议交互和发送数据给RealPlayer播放器,RMProtocol与RealPlayer之间采用Http协议,Http请求的格式如下:
GET/42113473819066140192129236203137_1.rm HTTP/1.1
Accept:*/*
Accept-Encoding:gzip,deflate
User-Agent:Mozilla/4.0(compatible;MSIE 7.0;Windows NT 5.1;Trident/4.0;InfoPath.1;.NET CLR 2.0.50727)
Host:127.0.0.1:3237
Connection:Keep-Alive
RMProtocol发送给RealPlayer播放器的响应为:
HTTP/1.1 200 OK
Content-type:application/vnd.rn-realmedia
Content-Length:11607560
有RMProtocol发送完200响应后,接着可以发送RM文件的头和数据。
ChangeRMTime用来修改RM数据包的时间戳,以达到在P2P出现丢包的情况下,观众仍然能跳过丢失的内容继续观看。如果不做这种修改,RealPlayer播放器会在丢包的地方停顿相应的丢失的秒数,影响观众观看情绪。ChangeRMTime修改时间戳的方法是一旦发现某个数据包前面的数据包丢失了,则把该数据包的时间戳改成最后一个收到的数据包的时间戳+1。
综上所述,一次完整的播放过程的主要步骤是:
1)P2P下载者发现本地缓冲已经足够多的时候,通过消息发送给RealPlayer播放器。
2)RealPlayer播放器发起到Http服务器的连接请求。
3)Http服务器创建一个新的对象RMProtocol来处理RealPlayer的请求。
4)RMProtocol收取到RealPlayer的GET请求(Get请求:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述)后发送200的响应给RealPlayer。
5)RMProtocol通过请求中的URL标识符获取到该请求对应的BufferManager,并从BufferManager中获取到RM文件头发送给RealPlayer。
6)在从BufferManager获取流媒体数据发送给RealPlayer之前,调用ChangeRMTime。
上述实施例仅列示性说明本发明的原理及功效,而非用于限制本发明。任何熟悉此项技术的人员均可在不违背本发明的精神及范围下,对上述实施例进行修改。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (3)
1.一种基于流式P2P直播技术的RealPlayer播放器系统,其特征在于包括:
该系统包括设有RealPlayer ActiveX控件的ActiveX容器;
用于接受RealPlayerActiveX控件请求的Http服务器;
用于解析并响应ActiveX容器发送的请求并发送流媒体数据至ActiveX容器的RMProtocol模组;
用于修改上述流媒体数据的时间戳的ChagneRMTime模组以及用于存储本地收到的流媒体数据的缓冲区BufferManager。
2.如权利要求1所述的一种基于流式P2P直播技术的RealPlayer播放器系统,其特征在于包括:所述存储本地收到的流媒体数据分属多个RM文件。
3.一种基于流式P2P直播技术的RealPlayer播放方法,该方法包括以下步骤:
1)P2P下载者发现本地缓冲已经足够多的时候,通过消息发送给RealPlayer播放器;
2)RealPlayer播放器发起到Http服务器的连接请求;
3)Http服务器创建一个新的对象RMProtocol来处理RealPlayer播放器的请求;
4)RMProtocol收取到RealPlayer播放器的GET请求后发送200的响应给RealPlayer播放器;
5)RMProtocol通过GET请求中的URL标识符获取到该请求对应的BufferManager,并从BufferManager中获取到RM文件头发送给RealPlayer播放器;
6)在RMProtocol从BufferManager获取流媒体数据发送给RealPlayer播放器之前,调用ChangeRMTime模组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100483164A CN102651756A (zh) | 2011-02-28 | 2011-02-28 | 基于流式P2P直播技术的RealPlayer播放器系统及播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100483164A CN102651756A (zh) | 2011-02-28 | 2011-02-28 | 基于流式P2P直播技术的RealPlayer播放器系统及播放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102651756A true CN102651756A (zh) | 2012-08-29 |
Family
ID=46693650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100483164A Pending CN102651756A (zh) | 2011-02-28 | 2011-02-28 | 基于流式P2P直播技术的RealPlayer播放器系统及播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102651756A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016209174A1 (en) * | 2015-06-26 | 2016-12-29 | Onwards Media Group Pte. Ltd. | Method and apparatus for streaming media |
CN107124668A (zh) * | 2016-01-22 | 2017-09-01 | 纳宝株式会社 | 流式传输装置及方法、流式传输服务系统及记录介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143493A1 (en) * | 2005-12-04 | 2007-06-21 | Turner Broadcasting System, Inc. | System and method for delivering video and audio content over a network |
CN101018323A (zh) * | 2007-02-08 | 2007-08-15 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN101534204A (zh) * | 2008-03-10 | 2009-09-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 流媒体信息分发系统和方法及客户端 |
WO2009116974A2 (en) * | 2008-03-20 | 2009-09-24 | Thomson Licensing | Method and apparatus for masking signal loss |
-
2011
- 2011-02-28 CN CN2011100483164A patent/CN102651756A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143493A1 (en) * | 2005-12-04 | 2007-06-21 | Turner Broadcasting System, Inc. | System and method for delivering video and audio content over a network |
CN101018323A (zh) * | 2007-02-08 | 2007-08-15 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
CN101534204A (zh) * | 2008-03-10 | 2009-09-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 流媒体信息分发系统和方法及客户端 |
WO2009116974A2 (en) * | 2008-03-20 | 2009-09-24 | Thomson Licensing | Method and apparatus for masking signal loss |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016209174A1 (en) * | 2015-06-26 | 2016-12-29 | Onwards Media Group Pte. Ltd. | Method and apparatus for streaming media |
CN107124668A (zh) * | 2016-01-22 | 2017-09-01 | 纳宝株式会社 | 流式传输装置及方法、流式传输服务系统及记录介质 |
US10404828B2 (en) | 2016-01-22 | 2019-09-03 | Naver Corporation | Streaming apparatus, streaming method, and streaming service system using the streaming apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11039218B1 (en) | Systems, apparatus and methods for rendering digital content relating to a sporting event with online gaming information | |
US11871088B2 (en) | Systems, apparatus, and methods for providing event video streams and synchronized event information via multiple Internet channels | |
CN106233734B (zh) | 将直播流作为广告供应 | |
US10200723B2 (en) | Converting live streaming content to video-on-demand streaming content | |
CN106685942B (zh) | 视频直播回播系统以及视频直播回播方法 | |
CN103650526B (zh) | 用于实时或近实时流传输的播放列表 | |
CN103002274B (zh) | 一种基于离线下载的移动多媒体实时转码播放系统及方法 | |
WO2019134470A1 (zh) | 视频直播方法及装置 | |
CN105554512A (zh) | 一种适用于新媒体内容融合的saas云平台 | |
US20150106730A1 (en) | Framework for screen content sharing system with generalized screen descriptions | |
CN105657443A (zh) | 一种直播时移播放方法和系统 | |
US20230379531A1 (en) | Systems, apparatus and methods for rendering digital content | |
CN105743971A (zh) | 一种适用于新媒体内容融合的saas云平台的使用方法 | |
CN104219571B (zh) | 一种自动提供看点的方法和装置 | |
CN105704503A (zh) | 一种基于saas媒体云技术的在线集成管控应用云平台的使用方法 | |
WO2015039477A1 (zh) | 基于多屏互动的信息系统及信息投放方法、iptv系统 | |
CN102651756A (zh) | 基于流式P2P直播技术的RealPlayer播放器系统及播放方法 | |
US8055779B1 (en) | System and method using data keyframes | |
US11611609B2 (en) | Distributed network recording system with multi-user audio manipulation and editing | |
Gao et al. | Beyond the playlist: seamless playback of structured video clips | |
Wang et al. | Interaction design of gesture control for DMS multi-channel system | |
Liu et al. | Analysis and Research of Campus Live Broadcasting System Based on SRS and FFmpeg | |
Venkatraman et al. | MMT+ AVR: enabling collaboration in augmented virtuality/reality using ISO's MPEG media transport | |
Yim et al. | Implementation of a Prototype Personal Live Broadcasting System | |
Qiu et al. | Design and Implementation of JMF-based VOD System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 200336 Shanghai city Changning District Honggu Road No. 150 Applicant after: Shanghai B-Star Broadband Technology Co., Ltd. Address before: 200336 Shanghai city Changning District Honggu Road No. 150 Applicant before: Shanghai B-STAR Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SHANGHAI FUTURE BROADBAND TECHNOLOGY AND APPLICATION ENGINEERING RESEARCHCENTER CO., LTD. TO: SHANGHAI FUTURE BROADBAND TECHNOLOGY CO., LTD. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120829 |