CN106101146A - 基于分块格式进行Flash对等网络直播的方法及系统 - Google Patents
基于分块格式进行Flash对等网络直播的方法及系统 Download PDFInfo
- Publication number
- CN106101146A CN106101146A CN201610663368.5A CN201610663368A CN106101146A CN 106101146 A CN106101146 A CN 106101146A CN 201610663368 A CN201610663368 A CN 201610663368A CN 106101146 A CN106101146 A CN 106101146A
- Authority
- CN
- China
- Prior art keywords
- live
- peer
- video data
- flash
- video
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000000903 blocking effect Effects 0.000 claims abstract description 64
- 230000005540 biological transmission Effects 0.000 abstract description 30
- 238000002372 labelling Methods 0.000 abstract 1
- 230000007246 mechanism Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种基于分块格式进行Flash对等网络直播的方法,包括:从存储视频直播数据的设备上获取视频直播数据,并按预定大小将视频直播数据进行分块,且根据视频直播数据分块位置及视频标识生成分块信息;给视频直播数据分块添加头部信息后组成视频直播数据片;基于Flash对等网络将视频直播数据片及分块信息分发到各个节点;接收客户端对视频直播数据的请求,根据分块信息生成相应的视频直播数据片请求分配至各个节点;节点接收视频直播数据片请求,并根据视频直播数据片请求反馈相应的视频直播数据片传输至客户端。本发明提升了Flash对等网络直播数据的传输效率。
Description
技术领域
本发明涉及网络视频直播的技术领域,更具体地,涉及一种基于分块格式进行Flash对等网络直播的方法及系统。
背景技术
Flash是使用矢量图形技术来最小化文件的大小以创造节省网络带宽和下载时间的格式,因此Flash成为嵌入网页中的视频、小游戏、动画以及图形用户界面常用的格式。
对等网络(Peer-to-peer networking,简称P2P),即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。
对等网络视频直播(P2P视频直播)是利用互联网网络资源进行的现场视频直播服务,通过现场的视频拍摄同步发布到网络上,用户可以同一时间在网络上看到实时的现场情况。P2P视频直播就是利用P2P技术解决客户端/服务端视频直播模式(C/S视频直播模式)无法解决的服务器端资源和带宽压力大,用户量提升后带宽成本线性增加等问题而提出的一种全新的解决方案。
在Flash平台,P2P视频直播的解决方案通常是采用RTMFP传输协议和Flash平台提供的节点连接服务(Cirrus)。RTMFP是Adobe公司开发的一套新的通信协议,全称Real TimeMedia Flow Protocol,该协议可以使得在使用Flash平台的终端用户之间进行直接通信,也可以用此协议来发布直播、实时信息,基于RTMFP的数据在终端用户之间流动,而不是和服务器,再结合Flash播放器内置的P2P数据传输逻辑模块实现Flash P2P功能。
然而,现有的Flash P2P技术存在以下缺点:
(1)、用户范围受限于Flash平台,难以实现Flash平台与其它平台(如Windows客户端、移动平台App等)的P2P交互。
(2)、P2P分享率(P2P下载流量/总下载流量)受限于Flash播放器对P2P数据传输逻辑的细节实现以及Cirrus技术的成熟度,造成P2P数据传输不稳定的问题。
(3)、需要基于Flash平台在用户端的Flash播放器中封装P2P逻辑,不便于单独对P2P逻辑进行改进或修改。
(4)、不再通过客户端/服务端视频直播模式传输数据,不便于在视频数据帧中添加与业务逻辑有关的私有信息。
(5)、在用户端可以通过Flash设置关闭P2P功能,从而影响到整个P2P网络的数据传输,最终造成P2P机制失效。
因此,提供一种适用于P2P传输的Flash直播方案是本领域亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种基于分块格式进行Flash对等网络直播的方法及系统,解决了现有技术中Flash对等网络直播受Flash平台限制,难以与其它平台之间实现对等网络交互的问题。
为了解决上述技术问题,本发明提出一种基于分块格式进行Flash对等网络直播的方法,包括:
在Flash对等网络上,设置根据视频直播数据分块,生成用于记录各个视频直播数据分块的视频标识及存储位置的分块信息;
从存储视频直播数据的设备上获取视频直播数据,并按预定大小将所述视频直播数据进行分块,且根据所述视频直播数据分块位置及视频标识生成所述分块信息;
给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置及用于进行完整性校验的MD5值;
基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点;所述节点接收所述视频直播数据片后,根据所述MD5值检验到所述视频直播数据片完整时,保存述视频直播数据片;
所述Flash对等网络接收客户端对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并将所述视频直播数据片请求分配至所述Flash对等网络中的各个节点;所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片;根据所述偏移位置将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
进一步地,其中,给所述视频直播数据分块添加头部信息后组成视频直播数据片,进一步为:
给所述视频直播数据分块添加头部信息后组成视频直播数据片,对所述视频直播数据片加密,生成加密信息保存在所述头部信息中,并生成相应解密的密匙保存在所述Flash对等网络中。
进一步地,其中,该方法进一步包括:
所述Flash对等网络接收来自客户端的解密请求,并根据所述解密请求判断到符合解密条件时,向所述客户端反馈所述密匙。
进一步地,其中,该方法进一步包括:
所述Flash对等网络接收来自客户端的发生卡顿的视频直播数据片及卡顿时间;
判断到所述卡顿时间超出卡顿时间阈值时,按视频直播数据流顺序扫描已接收的所述视频直播数据片,找出下一包含关键帧的所述视频直播数据片传输至所述客户端。
进一步地,其中,所述卡顿时间阈值为1-5秒。
另一方面,本发明还提供一种基于分块格式进行Flash对等网络直播的系统,包括:设置模块、视频直播数据分块模块、头部信息添加模块、完整性检验模块及反馈模块;其中,
所述设置模块,用于在Flash对等网络上,设置根据视频直播数据分块,生成用于记录各个视频直播数据分块的视频标识及存储位置的分块信息;
所述视频直播数据分块模块,用于从存储视频直播数据的设备上获取视频直播数据,并按预定大小将所述视频直播数据进行分块,且根据所述视频直播数据分块位置及视频标识生成所述分块信息;
所述头部信息添加模块,用于给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置及用于进行完整性校验的MD5值;
所述完整性检验模块,用于基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点;所述节点接收所述视频直播数据片后,根据所述MD5值检验到所述视频直播数据片完整时,保存述视频直播数据片;
所述反馈模块,用于所述Flash对等网络接收客户端对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并将所述请求分配至所述Flash对等网络的各个节点;所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片;根据所述偏移位置将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
进一步地,其中,该系统还包括:加密模块,所述加密模块用于:
给所述视频直播数据分块添加头部信息后组成视频直播数据片,对所述视频直播数据片加密,生成加密信息保存在所述头部信息中,并生成相应解密的密匙保存在所述Flash对等网络中。
进一步地,其中,该系统还包括:解密模块,所述解密模块用于:
所述Flash对等网络接收来自客户端的解密请求,并根据所述解密请求判断到符合解密条件时,向所述客户端反馈所述密匙。
进一步地,其中,该系统还包括:卡顿处理模块,所述卡顿处理模块用于:
所述Flash对等网络接收来自客户端的发生卡顿的视频直播数据片及卡顿时间;
判断到所述卡顿时间超出卡顿时间阈值时,按视频直播数据流顺序扫描已接收的所述视频直播数据片,找出下一包含关键帧的所述视频直播数据片传输至所述客户端。
进一步地,其中,所述卡顿时间阈值为1-5秒。
与现有技术相比,本发明的基于分块格式进行Flash对等网络直播的方法及系统,实现了如下的有益效果:
(1)本发明所述的基于分块格式进行Flash对等网络直播的方法及系统,将视频直播流数据按照固定大小进行分块封装,并为每个分块赋予属性,可方便地对分块进行位置定位、重新组合、加速下载和卡断跳包等操作,在此基础上,在客户端还可以通过特定策略自由控制直播卡断的处理方式,提升了Flash对等网络直播数据的传输效率,同时还实现了Flash对等网络直播中卡断跳包的功能,提升了用户使用体验。
(2)本发明所述的基于分块格式进行Flash对等网络直播的方法及系统,将视频直播流数据按照固定大小进行分块封装,基于数据分块机制的P2P逻辑,通过Flash对等网络的RTMFP传输协议连接,其它平台(Windows客户端、移动平台App等)只需按照RTMFP传输协议即可实现相应连接逻辑,实现了Flash对等网络直播的跨平台交互。
(3)本发明所述的基于分块格式进行Flash对等网络直播的方法及系统,将视频直播流数据按照固定大小进行分块封装,在RTMFP传输协议连接的基础上,结合数据分块机制实现了自己的P2P数据传输逻辑,从而使得Flash对等网络直播数据的传输不受限于Flash播放器内置的P2P数据传输逻辑的细节实现以及Cirrus技术,还能够实现单独对P2P逻辑进行改进或修改,便于在视频数据帧中添加与业务逻辑有关的私有信息,且在用户端关闭Flash播放器的P2P功能时也能保证P2P机制照常运行。
当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为本发明实施例1中所述基于分块格式进行Flash对等网络直播的方法的流程示意图;
图2为本发明实施例2中所述基于分块格式进行Flash对等网络直播的方法的流程示意图;
图3为本发明实施例3中所述基于分块格式进行Flash对等网络直播的方法的流程示意图;
图4为本发明实施例4中所述基于分块格式进行Flash对等网络直播的系统结构意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
实施例1
如图1所示,为本实施例中所述基于分块格式进行Flash对等网络直播的方法的流程示意图。在本实施例中,融合Flash对等网络的RTMFP传输协议连接各个节点,将视频直播数据按照固定大小进行分块,将分块的视频直播数据分配给各个节点进行传输,最终客户端从各个节点中按照视频直播流顺序获取视频直播数据进行播放。本实施例中所述基于分块格式进行Flash对等网络直播的方法的步骤如下:
步骤101、在Flash对等网络上设置根据视频直播数据分块生成用于记录各个视频直播数据分块描述信息的分块信息。
视频直播数据分块描述包括:所述视频直播数据分块的数量以及各个视频直播数据分块ID。
步骤102、获取视频直播数据,按照预定大小将所述视频直播数据进行分块,并生成所述分块信息。
步骤103、给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置及用于进行完整性校验的MD5值。
消息摘要算法(Message Digest Algorithm,简称MD5值),为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,用于判断信息传输数据是否完整一致。
优选地,本实施例中所述的头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置、所述视频直播数据分块的关键帧信息、所述视频直播数据分块中音视频数据的大小、所述视频直播数据的直播状态信息(比如直播、重播、轮播等)、所述视频直播数据分块在存储服务器上的绝对时间戳;所述视频直播数据分块的加密信息、可扩展字段(适应需求变化)及用于进行完整性校验的MD5值。
步骤104、基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点。
步骤105、所述节点接收所述视频直播数据片后,根据所述MD5值检验所述视频直播数据片的完整性。
步骤106、若在所述节点上检测到所述视频直播数据片完整,则保存所述视频直播数据片。
步骤107、若在所述节点上检测到所述视频直播数据片不完整,则请求上一节点重传该视频直播数据片,并接收重传的所述视频直播数据片进行保存。
步骤108、接收客户端对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并分配至各个节点。
步骤109、所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片。
步骤110、根据所述偏移位置将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
本方案适用于跨平台场景,为了融合Flash平台,对等网络底层采用RTMFP传输协议连接(Flash平台原生支持RTMFP传输协议),其它平台(Windows客户端、移动平台App等)只需按照RTMFP传输协议实现相应连接逻辑即可实现跨平台的P2P视频直播数据传输。在此基础上,本方案结合数据分块机制实现自己的Flash对等网络上的数据传输逻辑,便于自行控制业务逻辑和优化P2P传输效率。
实施例2
如图2所示,为本实施例所述基于分块格式进行Flash对等网络直播的方法的流程示意图。本实施例在实施例1的基础上描述了对视频直播数据分块进行加密传输的具体内容,步骤如下:
步骤201、在Flash对等网络上设置根据视频直播数据分块生成用于记录各个视频直播数据分块描述信息的分块信息。
步骤202、获取视频直播数据,按照预定大小将所述视频直播数据进行分块,并生成所述分块信息。
步骤203、给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置、所述视频直播数据分块的大小、视频直播状态信息、加密信息及用于进行完整性校验的MD5值。并生成相应解密的密匙保存在所述Flash对等网络中。
步骤204、基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点。
步骤205、根据所述MD5值检验所述视频直播数据片的完整性。
步骤206、若在所述节点上检测到所述视频直播数据片完整,则保存所述视频直播数据片。
步骤207、若在所述节点上检测到所述视频直播数据片不完整,则请求上一节点重传,并接收重传的述视频直播数据片进行保存。
步骤208、接收用户对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并分配至各个节点。
步骤209、所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片。
步骤210、所述用户接收所述视频直播数据片,根据所述偏移位置及所述视频直播数据分块的大小将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
步骤211、所述客户端按照视频直播数据流顺序接收所述视频直播数据片,根据所述加密信息及用户信息请求到解密的密匙后将所述视频直播数据片解密,并根据视频直播状态信息进行播放。
实施例3
如图3所示,为本实施例所述基于分块格式进行Flash对等网络直播的方法的流程示意图。本实施例在实施例1及实施例2的基础上描述了在客户端出现视频直播卡顿时进行跳包播放的具体内容,步骤如下:
步骤301、在Flash对等网络上设置根据视频直播数据分块生成用于记录各个视频直播数据分块描述信息的分块信息,并设置播放视频直播数据的卡顿时间阈值,优选地,所述卡顿时间阈值范围为1秒-5秒。
步骤302、获取视频直播数据,按照预定大小将所述视频直播数据进行分块,并生成所述分块信息。
步骤303、给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置、所述视频直播数据分块的大小、关键帧信息、加密信息、可扩展字段及用于进行完整性校验的MD5值。
步骤304、基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点。
步骤305、所述节点接收所述视频直播数据片后,根据所述MD5值检验所述视频直播数据片是否完整。
步骤306、若在所述节点上检测到所述视频直播数据片完整,则保存所述视频直播数据片。
步骤307、若在所述节点上检测到所述视频直播数据片不完整,则请求上一节点重传,并接收重传的述视频直播数据片进行保存。
步骤308、接收用户对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并分配至各个节点。
步骤309、所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片。
步骤310、根据所述偏移位置及所述视频直播数据分块的大小将所述视频直播数据片组合成视频直播数据流传输至客户端。
步骤311、尝试接收客户端发送的发生卡顿的视频直播数据片,并记录卡顿时间。
步骤312、判断卡顿时间是否超出所述卡顿时间阈值。
步骤313、卡顿时间未超出所述卡顿时间阈值时,将所述发生卡顿的视频直播数据片请求重叠分配给至少2个节点重新请求所述发生卡顿的视频直播数据片。
步骤314、卡顿时间超出所述卡顿时间阈值时,按视频直播数据流顺序扫描已接收的所述视频直播数据片,找出下一包含关键帧的所述视频直播数据片传输至所述客户端。
在正常情况下(网络畅通、资源充足),不同视频直播数据分块组合成完整的直播流在客户端的播放器中顺序播放。但如果网络带宽不足或提供上传的节点资源不够充足,有些分块可能无法及时到达,客户端播放器会出现卡顿现象。
在本实施例中,还可以设计在所述客户端进行卡顿处理,具体如下:
在所述客户端上检测并记录发生卡顿的视频直播数据片以及所述卡顿的时长,所述客户端判断到所述卡顿的时长超出所述卡顿时间阈值时,按照视频直播数据流顺序扫描已接收的视频直播数据片,直接跳转至下一个包含关键帧的数据片开始播放。
通过本实施例中设计的卡顿跳包操作能够保证客户端在出现卡顿时正常播放视频直播数据,而所述关键帧信息则为跳包提供计算跳跃距离的依据,保证卡顿恢复后的第一个画面是完整的。头部信息中的所述视频直播数据分块在视频直播数据流中的偏移位置用于定位所述视频直播数据片的位置,保证了所述视频直播数据片的顺序性和自治性。
实施例4
如图4所示,为本实施例所述基于分块格式进行Flash对等网络直播的系统的流程示意图,该系统用于实现上述实施例中所述基于分块格式进行Flash对等网络直播的方法。本实施例所述基于分块格式进行Flash对等网络直播的系统包括:设置模块401、视频直播数据分块模块402、头部信息添加模块403、完整性检验模块404及反馈模块405。
所述设置模块401与反馈模块405相藕接,用于在Flash对等网络上,设置根据视频直播数据分块,生成用于记录各个视频直播数据分块视频标识及存储位置的分块信息。
所述视频直播数据分块模块402与所述头部信息添加模块403相藕接,用于从存储视频直播数据的设备上获取视频直播数据,并按预定大小将所述视频直播数据进行分块,且根据所述视频直播数据视频标识及存储位置生成所述分块信息。
所述头部信息添加模块403与所述视频直播数据分块模块402及完整性检验模块404相藕接,用于给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在视频直播数据流中的偏移位置及用于进行完整性校验的MD5值。
所述完整性检验模块404与所述头部信息添加模块403及完整性反馈模块405相藕接,用于基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点;所述节点接收所述视频直播数据片后,根据所述MD5值检验到所述视频直播数据片完整时,保存述视频直播数据片。
所述反馈模块405与设置模块401及完整性检验模块404相藕接,用于所述Flash对等网络接收客户端对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并分配至各个节点;所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片;根据所述偏移位置将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
若在所述节点上检测到所述视频直播数据片完整,则保存所述视频直播数据片;若在所述节点上检测到所述视频直播数据片不完整,则请求上一节点重传,并接收重传的述视频直播数据片进行保存。
进一步地,上述系统还包括:加密模块406和解密模块407,所述加密模块406用于:
给所述视频直播数据分块添加头部信息后组成视频直播数据片,对所述视频直播数据片加密,生成加密信息保存在所述头部信息中,并生成相应解密的密匙保存在所述Flash对等网络中。
所述解密模块407用于:所述Flash对等网络接收来自客户端的解密请求,并根据所述解密请求判断到符合解密条件时,向所述客户端反馈所述密匙。
进一步地,上述系统还包括:设置模块401及卡顿处理模块408;所述设置模块401还用于:设置播放视频直播数据的卡顿时间阈值。
所述卡顿处理模块408用于:接收客户端发送的发生卡的顿视频直播数据片及卡顿时间;
在卡顿时间未超出所述卡顿时间阈值时,将所述发生卡的顿视频直播数据片请求重叠分配给至少2个节点重新请求所述发生卡的顿视频直播数据片;
在卡顿时间超出所述卡顿时间阈值时,按播放顺序扫描已接收的所述视频直播数据片,找出下一包含关键帧的所述视频直播数据片传输至所述客户端。
进一步地,在上述系统中,所述卡顿时间阈值为1-5秒。
通过以上各个实施例可知,本发明的基于分块格式进行Flash对等网络直播的方法及系统,存在的有益效果是:
(1)本发明所述的基于分块格式进行Flash对等网络直播的方法及系统,将视频直播流数据按照固定大小进行分块封装,并为每个分块赋予属性,可方便地对分块进行位置定位、重新组合、加速下载和卡断跳包等操作,在此基础上,在客户端还可以通过特定策略自由控制直播卡断的处理方式,提升了Flash对等网络直播数据的传输效率,同时还实现了Flash对等网络直播中卡断跳包的功能,提升了用户使用体验。
(2)本发明所述的基于分块格式进行Flash对等网络直播的方法及系统,将视频直播流数据按照固定大小进行分块封装,基于数据分块机制的P2P逻辑,通过Flash对等网络的RTMFP传输协议连接,其它平台(Windows客户端、移动平台App等)只需按照RTMFP传输协议即可实现相应连接逻辑,实现了Flash对等网络直播的跨平台交互。
(3)本发明所述的基于分块格式进行Flash对等网络直播的方法及系统,将视频直播流数据按照固定大小进行分块封装,在RTMFP传输协议连接的基础上,结合数据分块机制实现了自己的P2P数据传输逻辑,从而使得Flash对等网络直播数据的传输不受限于P2P数据传输逻辑的细节实现以及Cirrus技术,还能够实现单独对P2P逻辑进行改进或修改,便于在视频数据帧中添加与业务逻辑有关的私有信息,且在用户端关闭P2P功能时也能保证P2P机制照常运行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种基于分块格式进行Flash对等网络直播的方法,其特征在于,包括:
在Flash对等网络上,设置根据视频直播数据分块,生成用于记录各个视频直播数据分块的视频标识及存储位置的分块信息;
从存储视频直播数据的设备上获取视频直播数据,并按预定大小将所述视频直播数据进行分块,且根据所述视频直播数据分块位置及视频标识生成所述分块信息;
给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在原视频直播数据流中的偏移位置及用于进行完整性校验的MD5值;
基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点;所述节点接收所述视频直播数据片后,根据所述MD5值检验到所述视频直播数据片完整时,保存述视频直播数据片;
所述Flash对等网络接收客户端对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并将所述视频直播数据片请求分配至所述Flash对等网络中的各个节点;所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片;根据所述偏移位置将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
2.根据权利要求1所述的基于分块格式进行Flash对等网络直播的方法,其特征在于,给所述视频直播数据分块添加头部信息后组成视频直播数据片,进一步为:
给所述视频直播数据分块添加头部信息后组成视频直播数据片,对所述视频直播数据片加密,生成加密信息保存在所述头部信息中,并生成相应解密的密匙保存在所述Flash对等网络中。
3.根据权利要求2所述的基于分块格式进行Flash对等网络直播的方法,其特征在于,进一步包括:
所述Flash对等网络接收来自客户端的解密请求,并根据所述解密请求判断到符合解密条件时,向所述客户端反馈所述密匙。
4.根据权利要求1所述的基于分块格式进行Flash对等网络直播的方法,其特征在于,进一步包括:
所述Flash对等网络接收来自客户端的发生卡顿的视频直播数据片及卡顿时间;
判断到所述卡顿时间超出卡顿时间阈值时,按视频直播数据流顺序扫描已接收的所述视频直播数据片,找出下一包含关键帧的所述视频直播数据片传输至所述客户端。
5.根据权利要求4所述的基于分块格式进行Flash对等网络直播的方法,其特征在于,所述卡顿时间阈值为1-5秒。
6.一种基于分块格式进行Flash对等网络直播的系统,其特征在于,包括:设置模块、视频直播数据分块模块、头部信息添加模块、完整性检验模块及反馈模块;其中,
所述设置模块,用于在Flash对等网络上,设置根据视频直播数据分块,生成用于记录各个视频直播数据分块的视频标识及存储位置的分块信息;
所述视频直播数据分块模块,用于从存储视频直播数据的设备上获取视频直播数据,并按预定大小将所述视频直播数据进行分块,且根据所述视频直播数据分块位置及视频标识生成所述分块信息;
所述头部信息添加模块,用于给所述视频直播数据分块添加头部信息后组成视频直播数据片,所述头部信息包括:所述视频直播数据分块在原视频直播数据流中的偏移位置及用于进行完整性校验的MD5值;
所述完整性检验模块,用于基于Flash对等网络将所述视频直播数据片及所述分块信息分发到各个节点;所述节点接收所述视频直播数据片后,根据所述MD5值检验到所述视频直播数据片完整时,保存述视频直播数据片;
所述反馈模块,用于所述Flash对等网络接收客户端对所述视频直播数据的请求,根据所述分块信息生成相应的视频直播数据片请求,并将所述请求分配至所述Flash对等网络的各个节点;所述节点接收所述视频直播数据片请求,并根据所述视频直播数据片请求反馈相应的视频直播数据片;根据所述偏移位置将所述视频直播数据片组合成视频直播数据流传输至所述客户端。
7.根据权利要求6所述的基于分块格式进行Flash对等网络直播的系统,其特征在于,还包括:加密模块,所述加密模块用于:
给所述视频直播数据分块添加头部信息后组成视频直播数据片,对所述视频直播数据片加密,生成加密信息保存在所述头部信息中,并生成相应解密的密匙保存在所述Flash对等网络中。
8.根据权利要求7所述的基于分块格式进行Flash对等网络直播的系统,其特征在于,还包括:解密模块,所述解密模块用于:
所述Flash对等网络接收来自客户端的解密请求,并根据所述解密请求判断到符合解密条件时,向所述客户端反馈所述密匙。
9.根据权利要求6所述的基于分块格式进行Flash对等网络直播的系统,其特征在于,还包括:卡顿处理模块,所述卡顿处理模块用于:
所述Flash对等网络接收来自客户端的发生卡顿的视频直播数据片及卡顿时间;
判断到所述卡顿时间超出卡顿时间阈值时,按视频直播数据流顺序扫描已接收的所述视频直播数据片,找出下一包含关键帧的所述视频直播数据片传输至所述客户端。
10.根据权利要求9所述的基于分块格式进行Flash对等网络直播的系统,其特征在于,所述卡顿时间阈值为1-5秒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610663368.5A CN106101146B (zh) | 2016-08-12 | 2016-08-12 | 基于分块格式进行Flash对等网络直播的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610663368.5A CN106101146B (zh) | 2016-08-12 | 2016-08-12 | 基于分块格式进行Flash对等网络直播的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101146A true CN106101146A (zh) | 2016-11-09 |
CN106101146B CN106101146B (zh) | 2019-05-07 |
Family
ID=57456604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610663368.5A Active CN106101146B (zh) | 2016-08-12 | 2016-08-12 | 基于分块格式进行Flash对等网络直播的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101146B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033439A (zh) * | 2018-08-15 | 2018-12-18 | 中科驭数(北京)科技有限公司 | 流式数据的处理方法和装置 |
CN109218757A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种显示虚拟礼物特效的方法和设备 |
CN110177309A (zh) * | 2019-05-31 | 2019-08-27 | 北京大米科技有限公司 | 视频数据存储的方法、装置、电子设备及介质 |
CN112788360A (zh) * | 2020-12-30 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 直播方法、直播装置与计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102312A (zh) * | 2007-06-11 | 2008-01-09 | 华为技术有限公司 | 一种网络通信数据处理方法、网络通信系统及客户端 |
CN101247193A (zh) * | 2008-02-28 | 2008-08-20 | 华为技术有限公司 | 对等网络中发送数据的方法、系统、节点和超级节点 |
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
-
2016
- 2016-08-12 CN CN201610663368.5A patent/CN106101146B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102312A (zh) * | 2007-06-11 | 2008-01-09 | 华为技术有限公司 | 一种网络通信数据处理方法、网络通信系统及客户端 |
CN101247193A (zh) * | 2008-02-28 | 2008-08-20 | 华为技术有限公司 | 对等网络中发送数据的方法、系统、节点和超级节点 |
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218757A (zh) * | 2017-06-30 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 一种显示虚拟礼物特效的方法和设备 |
CN109218757B (zh) * | 2017-06-30 | 2020-09-08 | 武汉斗鱼网络科技有限公司 | 一种显示虚拟礼物特效的方法和设备 |
CN109033439A (zh) * | 2018-08-15 | 2018-12-18 | 中科驭数(北京)科技有限公司 | 流式数据的处理方法和装置 |
CN110177309A (zh) * | 2019-05-31 | 2019-08-27 | 北京大米科技有限公司 | 视频数据存储的方法、装置、电子设备及介质 |
CN112788360A (zh) * | 2020-12-30 | 2021-05-11 | 北京达佳互联信息技术有限公司 | 直播方法、直播装置与计算机程序产品 |
CN112788360B (zh) * | 2020-12-30 | 2023-06-20 | 北京达佳互联信息技术有限公司 | 直播方法、直播装置与计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN106101146B (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106101146B (zh) | 基于分块格式进行Flash对等网络直播的方法及系统 | |
US9300733B2 (en) | System and/or method for client-driven server load distribution | |
WO2020192152A1 (zh) | 视频传输的方法、根节点、子节点、p2p服务器和系统 | |
US20100100605A1 (en) | Methods and apparatus for management of inter-widget interactions | |
CN109996097A (zh) | 一种投屏方法、系统及存储装置 | |
EP2704391B1 (en) | System and method for delivering an audio-visual content to a client device | |
US12095880B2 (en) | Data processing method and apparatus, device and medium | |
CN104602102B (zh) | 视频截取内容的传输响应方法、装置、服务器和系统 | |
US20170171166A1 (en) | Anti-hotlinking method and electronic device | |
KR20140068231A (ko) | 피어-투-피어 콘텐츠 배포 시스템에서 피어-수신된 콘텐츠의 완전성 검증 | |
WO2018072650A1 (zh) | 移动终端与iptv进行交互的实现方法、装置及平台 | |
WO2017173966A1 (zh) | 一种录播控制方法及装置 | |
CN107770161B (zh) | 一种直播平台中防止刷礼物的方法及装置 | |
CN103281356B (zh) | 一种分发文件的方法及系统 | |
CN113965775A (zh) | 基于切片和智能cdn加速的多媒体视频安全播放方法 | |
CN113926185A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
WO2023091903A1 (en) | Scalable media file transfer | |
CN105281987B (zh) | 路由器及数据上传方法、装置、系统 | |
George et al. | The evolution of content delivery network: How it enhances video services, streaming, games, ecommerce, and advertising | |
JP4734407B2 (ja) | コンテンツ配信装置、コンテンツ配信システム、メタデータ生成方法及びコンテンツ配信装置の制御方法 | |
CN108924595A (zh) | 实现ts切片防盗链的方法及系统 | |
JP7397082B2 (ja) | ネットワークゲームシステムにおける安全なデータチャネル | |
Mekuria et al. | Multi-protocol video delivery with late trans-muxing | |
CN113453059A (zh) | 云游戏数据处理方法、装置、设备以及介质 | |
US20190191222A1 (en) | Method and system of content distribution in the data transfer network with built-in mechanism of conditional access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20190705 Granted publication date: 20190507 |