一种p2p系统中音视频直播流媒体数据传输方法

文档序号:10666516阅读:621来源:国知局
一种p2p系统中音视频直播流媒体数据传输方法
【专利摘要】本发明提出一种P2P系统中音视频直播流媒体数据传输方法,包括下列步骤:获取直播流媒体源数据;将所述直播流媒体源数据按照每一帧为长度切片并且编码为媒体数据包;对所述连续的媒体数据包按照固定长度进行切片并编码封装为P2P数据包;通过P2P网络将所述P2P数据包发送给播放客户端。本发明提出的P2P系统中音视频直播流媒体数据传输方法,最小化网络传输开销,降低了对带宽的要求,同时通过校验机制有效保证直播流防篡改。
【专利说明】
一种P2P系统中音视频直播流媒体数据传输方法
技术领域
[0001]本发明涉及直播流媒体数据传输领域,且特别涉及一种P2P系统中音视频直播流媒体数据传输方法。
【背景技术】
[0002]随着互联网的发展,利用网络进行流媒体直播或点播逐渐成为一种趋势,慢慢融入到人们的日常生活中,在工作、学习以及娱乐等各个方面形成热点,无论是视频会议、在线教育还是网络电视、视频网站都应用的越来越广泛。流媒体(Stream Media)是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前不需要下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使流媒体数据正确地输出,可以边下载边观看。其原理是把向用户传输的多媒体文件按照播出时间顺序分为不同的片段,然后依次把这些片段发给用户,连续播放这些片段就形成了连续的声音和图像。
[0003]流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或者几十秒的启动延时即可再用户的计算机上利用解压设备对压缩的多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动时间大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户用在等待的时间。目前,流媒体技术已经广泛应用在互联网领域中。
[0004]传统的网络流媒体播放系统一般基于C/S模式,但是由于流媒体播放需要消耗大量的网络带宽和服务器资源,因此这种模式严重限制了网络流媒体业务的发展。以一个占用带宽为300kbps的网络视频流为例,当有1000个用户同时观看时,需要的带宽是300Mbps。这样的性能要求对于大多数服务器来说是满足不了的。如果要支持几万甚至几十万的用户,采用这种C/S模式几乎是不可能的。当然,增加服务器数量和提高带宽是一种解决方法,但是这种方式需要巨大的成本开支,所以需要新的技术手段来解决这个问题。
[0005]IP组播是解决网络流媒体多路传输消耗大量带宽的一种技术。利用组播可以将一份数据同时发送给一组特定的用户,从而避免了数据的重复发送,不会造成网络带宽的浪费,非常适合网络流媒体传输。但是IP组播也具有自身的问题,因为Internet是个异构网络,硬件平台千差万别,互联设备在对组播的支持上也存在差异,因此IP组播在实际应用中存在部署的困难。
[0006]对等网络是最近几年新兴的网络技术,相对于传统的C/S模式,P2P模式一个非常显著的特点就是节点无需依赖集中式服务器资源,各节点可以直接进行通信。每个节点具有相同的地位,既可以请求服务,也可以提供服务,同时扮演着C/S模式中服务器和客户机的双重角色,甚至还可以具有路由器和高速缓存的功能。在P2P模式下,由于每个节点都具有客户机和服务器的功能,这样每个节点在从别的节点接收数据流的同时还向其他节点发送数据流。利用这个特点,P2P网络技术可以应用现有的计算资源和有限网络带宽来实现大规模网络流媒体直播。
[0007]现有技术中的P2P直播技术是将流媒体数据按照每帧的形式切片并封装为P2P媒体数据包后传输,然而由于每一帧的数据并不相同,导致某些帧的媒体数据包所包含的数据较大,特别对于一些带宽较小的用户在使用时会产生声音或视频画面播放卡顿的现象。这种情况在包括视频会议、远程教学、视频直播等在内的很多对实时性要求较高的应用中是非常不利的,降低了系统的服务质量和用户感受。同时,现有技术中的P2P直播技术并没有数据校验机制,不能保证直播流被篡改,数据安全性无法得到保障。

【发明内容】

[0008]本发明提出一种P2P系统中音视频直播流媒体数据传输方法,最小化网络传输开销,降低了对带宽的要求,同时通过校验机制有效保证直播流防篡改。
[0009]为了达到上述目的,本发明提出一种P2P系统中音视频直播流媒体数据传输方法,包括下列步骤:
[0010]获取直播流媒体源数据;
[0011]将所述直播流媒体源数据按照每一帧为长度切片并且编码为媒体数据包;
[0012]对所述连续的媒体数据包按照固定长度进行切片并编码封装为P2P数据包;
[0013]通过P2P网络将所述P2P数据包发送给播放客户端。
[0014]进一步的,所述媒体数据包的编码格式为包括:标志、包长度、包序号、校验值、数据块数和数据块。
[0015]进一步的,所述数据块为将所述每一帧的直播流媒体源数据按照固定长度切片获取,所述数据块数即为切片后的所述数据块的数量。
[0016]进一步的,所述数据块的长度为I?2KB。
[0017]进一步的,当所述直播流媒体源数据为视频流时,所述数据块的编码格式为包括:块标示、时间戳、块长度和数据,所述块标示表示所述数据块是否包含关键帧头,其数值为I时表示包含关键帧头,数值为O时表示不包含关键帧头。
[0018]进一步的,当所述直播流媒体源数据为音频流时,所述数据块的编码格式为包括:时间戳、块长度和数据。
[0019]进一步的,所述校验值采用CRC校验或者MD5校验。
[0020]进一步的,所述P2P数据包的固定长度为I?2KB。
[0021]进一步的,所述P2P数据包的编码格式为包括:数据、包类型和媒体包偏移;所述数据为流媒体数据;所述包类型表示所述P2P数据包是否包含媒体数据包开头,其数值为I时表示包含媒体数据包的开头,数值为O时表示只包含流媒体数据;所述媒体包偏移为媒体数据包的开头在P2P数据包中的偏移位置,仅在包类型值为I时有效。
[0022]进一步的,所述P2P网络为P2P+⑶N融合网络。
[0023]本发明提出一种P2P系统中音视频直播流媒体数据传输方法,将音视频直播流媒体数据按照每帧为长度切片编码为媒体数据包,并对所述媒体数据包再次按照固定长度进行切片并编码封装为P2P数据包,最后通过P2P网络将数据包发送给播放客户端解码播放。本发明通过将音视频直播流媒体数据切片编码为较小格式的P2P数据包,减少了单次传输的数据量,降低了对用户带宽的要求,最小化网络传输开销,能够适用于各种应用环境,避免卡顿及延时现象的发送,保证直播的流畅性,提高用户的使用感受。同时本发明提出的P2P系统中音视频直播流媒体数据传输方法还具有校验机制,能够有效保证直播流防篡改,确保直播的安全性和准确性。
【附图说明】
[0024]图1所示为本发明较佳实施例的P2P系统中音视频直播流媒体数据传输方法流程图。
[0025]图2所示为本发明较佳实施例的媒体数据包结构示意图。
[0026]图3所示为本发明较佳实施例的P2P数据包结构示意图。
[0027]图4所示为本发明较佳实施例的P2P系统中音视频直播流媒体数据传输方法功能构架原理图。
【具体实施方式】
[0028]以下结合附图给出本发明的【具体实施方式】,但本发明不限于以下的实施方式。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。
[0029]请参考图1,图1所示为本发明较佳实施例的P2P系统中音视频直播流媒体数据传输方法流程图。本发明提出一种P2P系统中音视频直播流媒体数据传输方法,包括下列步骤:
[0030]步骤SlOO:获取直播流媒体源数据;
[0031]步骤S200:将所述直播流媒体源数据按照每一帧为长度切片并且编码为媒体数据包;
[0032]步骤S300:对所述连续的媒体数据包按照固定长度进行切片并编码封装为P2P数据包;
[0033]步骤S400:通过P2P网络将所述P2P数据包发送给播放客户端。
[0034]请参考图2,图2所示为本发明较佳实施例的媒体数据包结构示意图。根据本发明较佳实施例,所述媒体数据包的编码格式为包括:标志、包长度、包序号、校验值、数据块数和数据块。其中,所述标志为固定魔术字,例如为Oxaa,其长度为IB ;所述包长度表示为整个媒体数据包全长,其占用长度为4B ;所述包序号表示为媒体数据包的编号,从O开始顺序递增1,其占用长度为2B。
[0035]所述校验值采用CRC校验或者MD5校验。CRC即循环冗余校验码(CyclicRedundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。MD5校验和(checksum)通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随数据传输的散列值比较。如果两个值相同,说明传输的数据完整无误、没有被窜改过,从而可以放心使用。根据本发明较佳实施例,所述校验值采用CRC校验,具体为CRC16 (媒体数据包+pin_code),其占用长度为2B。
[0036]所述数据块数表示为数据块的个数,数据块信息包含的块个数,其占用长度为IB ;所述数据块为将所述每一帧的直播流媒体源数据按照固定长度切片获取,所述数据块数即为切片后的所述数据块的数量。根据本发明较佳实施例,所述数据块的长度为I?2KB。
[0037]进一步的,当所述直播流媒体源数据为视频流时,所述数据块的编码格式为包括:块标示、时间戳、块长度和数据,所述块标示表示所述数据块是否包含关键帧头,其数值为I时表示包含关键帧头,数值为O时表示不包含关键帧头,其占用长度为IB ;所述时间戳表示数据块的播放时间,其占用长度为4B ;所述块长度表示为数据长度,其占用长度为2B ;所述数据承载视频数据。
[0038]进一步的,当所述直播流媒体源数据为音频流时,所述数据块的编码格式为包括:时间戳、块长度和数据,所述时间戳表示数据块的播放时间,其占用长度为4B ;所述块长度表示为数据长度,其占用长度为2B ;所述数据承载音频数据。
[0039]综上所述,所述媒体数据包长度为变长,根据每一帧的数据量具有不同的数据长度,媒体数据包承载编码后的音频、视频数据;媒体数据包允许缺失,但推送给播放器的一定是完整包,不能有任何数据缺失和错误;视频媒体数据包有两种类型:有关键帧和非关键帧,非关键帧的包依赖于前面关键帧的包,如果中间发生丢包,那么下一个推送给播放器的必须是带关键帧的包,而音频媒体数据包可容忍丢包。
[0040]再请参看图3,图3所示为本发明较佳实施例的P2P数据包结构示意图。根据本发明较佳实施例,所述P2P数据包的固定长度为I?2KB,例如可为定长1460B,媒体数据包切片放入固定长度的P2P数据包中进行传输,一个媒体数据包可以放入多个P2P数据包中,一个P2P数据包也可以包含两个数据媒体包。直播流由一个个P2P数据包组成,把直播流看作一个无文件尾的文件,P2P数据包就是该文件的数据,直播流的位图会随着P2P数据包的生成而一直增长。
[0041]进一步的,所述P2P数据包的编码格式为包括:数据、包类型和媒体包偏移;所述数据为流媒体数据,当P2P数据包的固定长度为1460B时,所述数据的长度固定为1455B ;所述包类型表示所述P2P数据包是否包含媒体数据包开头(即媒体数据包的头部),其数值为I时表示包含媒体数据包的开头,数值为O时表示只包含流媒体数据,所述包类型占用长度为IB ;所述媒体包偏移为媒体数据包的开头在P2P数据包中的偏移位置,仅在包类型值为I时有效,所述媒体包偏移占用长度为4B。
[0042]根据本发明较佳实施例,所述P2P网络为P2P+CDN融合网络。在音视频多媒体业务的服务模式中,基于互联网基础网络的视频应用,需要面对大并发量的用户,就需要高效的音视频内容分发和传输技术,这也是音视频业务服务模式的基础核心。虽然以IP为基础的互联网的特点是效率高,但是相对于传统的电信网,其没有较好的服务质量(QoS,Qualityof Service)保证(如:较大的时延、时延抖动、丢包、乱序等),将是该业务开展必须面对和解决的问题。而当前采用P2P融合CDN视频传输的技术方案,即可解决以上问题。
[0043]P2P是对等连接peertopeer模式的简称。P2P技术是一种用于不同终端用户之间、不经过中继设备直接交换数据或服务的技术。它打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。P2P的核心是利用用户资源,通过对等方式进行文件传输,这完全不同于传统的客户服务器计算模型。P2P通过“非中心化”的设计和多点传输机制,实现了不依赖服务器而快速的交换文件。然而,P2P系统也存在明显的缺点,就是可用性问题,尽管从整个系统而言,P2P是可靠的,但是对于单个内容或者单个任务而言,P2P是不稳定的,每个Peer可以随时终止服务,甚至退出系统,即交换的内容随时可能被删除或者被终止共享。
[0044]CDN的英文全称是Content Delivery Network,即内容分发网络,也称为内容传输网络。CDN是建立在现有IP网络基础结构之上的一种增值网络,是在应用层部署的一层网络架构。CDN的核心是利用智能化策略技术,将中心的内容和服务推送到网络边缘,使得用户可以在最近的和服务质量最佳的地方获取服务,其关键技术包括高速缓存、负载均衡、内容路由、内容分发、内容存储和内容管理等。CDN的技术优点包括:(I)全局负载平衡,访问速度快,让用户连接到最近的服务器上去。(2)热点内容主动传送,自动跟踪,自动更新。
(3)无缝集成、高可靠、可用性以及扩展性。(4)减少对网络带宽资源的占用,具有智能的管理控制能力。(5)发送的内容受到保护,而且内容提供商可在本地自己决定服务的内容。基于上述的优点,CDN技术能提高宽带资源的利用率,增加流媒体在互联网上的应用普及,这些应用包括在线播放、音乐点播、电视直播、互动游戏等,大大促进Internet应用和服务的发展。但是,现有CDN网络都只是针对传统互联网的网络结构、内容传送和业务开展方式建设起来的,对视频编码格式支持不足、时延太大、无法提供广播级的视频服务、系统结构过于简单、随着服务能力的扩展,需要不断的投资等。
[0045]⑶N和P2P被用于不同的领域,⑶N主要用于可靠的Web和流媒体内容分发,而P2P则主要用于内容交换。两种技术各有优缺点。显然,CDN和P2P技术的优缺点在应用上具有一定的互补性。将P2P的扩展能力、多用户共享资源能力与CDN的可靠性、可管理性结合起来,有效地利用和转化P2P技术,充分考虑运营商现有CDN的技术特性,构建一个新型的媒体分发和交付系统。
[0046]请参考图4,图4所示为本发明较佳实施例的P2P系统中音视频直播流媒体数据传输方法功能构架原理图。发布者通过应用端发布音视频数据,即直播流媒体源数据;P2P托盘服务将用户发布的直播流媒体源数据按照每一帧为长度切片并且编码为媒体数据包,即私有格式的媒体数据包,其中黑色表示封装的为视频数据,白色表示封装的为音频数据;P2P托盘服务将封装后的媒体数据包传输给媒资系统进行音视频发布,媒资系统将接收到的媒体数据包按照固定长度进行切片并编码封装为P2P数据包,以便在P2P网络中进行传输;将所述P2P数据包通过CDN系统进行音视频分发,并通过P2P/CDN融合网络进行传输;播放端通过P2P模块接收所述P2P数据包,并将视频数据发送给Flash内置视频模块进行播放,同时将音频数据发送给音视频模块进行播放;其中音频数据为解析P2P数据包后,将包含音频数据的媒体数据包直接推送给WebRTC Aud1 Stack进行播放;视频数据为解析P2P数据包后,替换容器格式,从私有容器格式的媒体数据包替换为目标平台支持的容器格式,例如:MPEG/FLV,然后推送给目标平台进行播放(Flash平台);根据时间戳,同步推送音视频包与视频包以达到音视频同步效果。
[0047]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
【主权项】
1.一种P2P系统中音视频直播流媒体数据传输方法,其特征在于,包括下列步骤: 获取直播流媒体源数据; 将所述直播流媒体源数据按照每一帧为长度切片并且编码为媒体数据包; 对所述连续的媒体数据包按照固定长度进行切片并编码封装为P2P数据包; 通过P2P网络将所述P2P数据包发送给播放客户端。2.根据权利要求1所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述媒体数据包的编码格式为包括:标志、包长度、包序号、校验值、数据块数和数据块。3.根据权利要求2所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述数据块为将所述每一帧的直播流媒体源数据按照固定长度切片获取,所述数据块数即为切片后的所述数据块的数量。4.根据权利要求3所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述数据块的长度为I?2KB。5.根据权利要求2所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,当所述直播流媒体源数据为视频流时,所述数据块的编码格式为包括:块标示、时间戳、块长度和数据,所述块标示表示所述数据块是否包含关键帧头,其数值为I时表示包含关键帧头,数值为O时表示不包含关键帧头。6.根据权利要求2所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,当所述直播流媒体源数据为音频流时,所述数据块的编码格式为包括:时间戳、块长度和数据。7.根据权利要求2所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述校验值采用CRC校验或者MD5校验。8.根据权利要求1所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述P2P数据包的固定长度为I?2KB。9.根据权利要求1所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述P2P数据包的编码格式为包括:数据、包类型和媒体包偏移;所述数据为流媒体数据;所述包类型表示所述P2P数据包是否包含媒体数据包开头,其数值为I时表示包含媒体数据包的开头,数值为O时表示只包含流媒体数据;所述媒体包偏移为媒体数据包的开头在P2P数据包中的偏移位置,仅在包类型值为I时有效。10.根据权利要求1所述的P2P系统中音视频直播流媒体数据传输方法,其特征在于,所述P2P网络为P2P+⑶N融合网络。
【文档编号】H04N21/238GK106034242SQ201510101145
【公开日】2016年10月19日
【申请日】2015年3月9日
【发明人】虞陆平, 聂大鹏, 熊涛, 胡晨辉, 台跃华, 林肖琼, 祝亮, 张海峰
【申请人】杭州施强网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1