`
vanadiumlin
  • 浏览: 492409 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

音视频即时通讯开发中使用P2P技术的好处

阅读更多

在服务器的配置文件“AnyChatCoreServer.ini”中网络配置部分,“RoutingPolicy”字段表示了P2P数据路由传输策略的配置信息,可取值分别表示:

1  服务器转发模式, 所有数据传输均由服务器转发(禁止P2P);
2  P2P直传模式,NAT穿透成功的用户之间互传,穿透失败的用户由服务器转发,该策略适用于局域网使用;(默认)
3  P2P路由模式,P2P网格传输,由服务器以房间为单位,根据当前房间各用户NAT穿透情况、网络带宽等情况,动态生成一份网格路由表,流媒体数据按路由表传输,该策略适用于互联网使用。(目前还处于测试阶段)

一、服务器转发模式
该模式下所有数据均由服务器转发,客户端之间不进行P2P网络连接和数据传输,适用于局域网带宽充足、要求低延迟的应用场景,该模式下对服务器的带宽要求较高,但延迟较小。


二、P2P直传模式
该模式下,客户端之间会互相尝试P2P连接,如果P2P连接成功,则数据走P2P通道传输,如果P2P连接失败,则数据走服务器转发,该模式相对于“服务器转发模式”,将节约一部分服务器端的网络带宽,而且延迟也相对较低,适合于互联网上同一个房间在线人数不多(少于10用户)的应用场景,因为如果在线人数过多,将会造成用户端的网络拥塞。举一个极限情况下的例子:如果一个房间10个用户,而且用户之间P2P全部是可以连通的,则其中一人的数据需要复制9份,分别传给其它9个用户,这种情况下对服务器几乎无网络带宽压力,而用户端的网络带宽占用却很高。


三、P2P路由模式
P2P路由模式是一种适用于大规模即时通讯应用(如同一个房间上百人的视频聊天室、网络视频在线互动直播等)的数据传输模式,目前在网络电视、在线直播等非实时性领域应用较多,其基本原理是数据从A用户传递出来,传到B用户,然后B用户再传给C用户,而不需要A用户直接传给C用户。使用该模式将极大的优化网络带宽压力,让数据走P2P传输,较少的占用服务器带宽的同时,又不会阻塞用户端的网络通道,但其副作用便是延迟的成倍增加。目前网络电视直播便是采用P2P路由模式,但是在播放前均会缓冲30s-60s的数据,然后才开始播放,目前国内很少有产品能实现即时通讯领域应用P2P路由模式,AnyChat便首开先河,在国内率先推出及时通信领域的P2P路由模式应用,将延迟控制在1-3s,该项技术的成功应用,将使得AnyChat的核心竞争力更加增强。


AnyChat针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。
      支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
      AnyChat采用佰锐科技拥有自主知识产权的“MultiPath”P2P网络路由算法,将服务器上的用户组成一个P2P互通的网络,流媒体数据在用户之间传递,减少对服务器的网络带宽占用,实现了一个高性能P2P网络核心。
      传统的P2P网络应用(如P2P在线影院)所采用的算法需要长时间(如30秒,或更长)的缓冲,不适合即时通讯领域所要求的低延迟的目标,“MultiPath”P2P网络路由算法便是针对即时通讯领域专门设计的P2P网络算法,它保留了P2P网络原有的网络带宽优势,同时又极大的降低了中间的缓冲时间。
在P2P路由模式下,有两项重要的配置参数“RoutingTTL”和“RoutingMTN”,客户可根据应用进行调节,这两项配置参数的详细说明如下:
RoutingTTL:流媒体数据经过网格传输时的最大生存期,每经过一个中间用户转发,生成期减一,为0将不再继续转发,该配置项当RoutingPolicy=3时有效,设置较大时,会较大的减轻服务器带宽压力,但会带来末端用户接收数据延迟时间增加的后果。
RoutingMTN:流媒体数据经过网格传输时,中间节点最大包转发路数(通俗的讲,就是任意节点最多可服务的后续节点个数,如当设置为4时,表示任意用户可向其它4个用户转发数据),该配置项当RoutingPolicy=3时有效,设置较大时,会较大的减轻服务器带宽压力,但会占用用户较多的出口带宽(因为需要向其它用户转发数据),当用户本身网络状况较差时,会影响后续用户的接收效果。
分享到:
评论

相关推荐

    linux系统 视频通话 音视频即时通讯工具 视频开发工具源码

    AnyChat SDK,即AnyChat音视频互动开发平台,是佰锐科技全力打造的核心产品,是一套跨平台的音视频即时通讯解决方案,基于先进的H.264视频编码标准,AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音...

    Web视频聊天,音视频即时通讯开发工具,一对一视频聊天开发

    AnyChat SDK,即AnyChat音视频互动开发平台,是佰锐科技全力打造的核心产品,是一套跨平台的音视频即时通讯解决方案,基于先进的H.264视频编码标准,AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音...

    音视频即时通讯(Android)

    基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,高质量、宽适应性、分布式、模块化的网络音视频互动平台。

    音视频即时通讯(PC)

    基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,高质量、宽适应性、分布式、模块化的网络音视频互动平台。

    苹果IOS系统视频通话,音视频通讯开发工具,SDK源码免费下载

    AnyChat SDK,即AnyChat音视频互动开发平台,是佰锐科技全力打造的核心产品,是一套跨平台的音视频即时通讯解决方案,基于先进的H.264视频编码标准,AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音...

    嵌入式语音视频软件开发文档

    AnyChat SDK是一套多媒体即时通讯平台库,大部分需要用到音视频交互的系统都可以采用AnyChat SDK来开发。AnyChat SDK内部封装了音视频的采集、编码、传输、解码以及播放(显示)功能,只需要几个简单的API调用,即可...

    C#音视频聊天技术源代码

    为上层应用提供简单的API控制接口,可以在极短的开发周期,以及极少的人力资源投入下为客户的现有平台增加音视频即时通讯、多方会议的功能。 这是客户端SDK源码,用于实现语音、视频的交互以及其它客户端相关的功能...

    音视频即时通讯(Linux)

    基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,高质量、宽适应性、分布式、模块化的网络音视频互动平台。

    音视频即时通讯(iPhone)

    基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,高质量、宽适应性、分布式、模块化的网络音视频互动平台

    音视频开发示例程序

    AnyChat是佰锐科技的热点技术,是一套跨平台的即时通讯解决方案,是基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高...

    Linux下即时通讯视频聊天(服务端)源代码

    包含了音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音视频同步)以及P2P网络模块(NAT穿透、UPnP支持、IP组播支持)等多个子模块。可以开发具有...

    Linux下即时通讯视频聊天 源代码

    包含了音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音视频同步)以及P2P网络模块(NAT穿透、UPnP支持、IP组播支持)等多个子模块。可以开发具有...

    IOS即时通讯

    一套不错的音视频SDK,可用于二次开发,无回声问题,支持1080P高清视频通讯,采用了P2P技术,支持多平台互通,公开了代码跟开发文档,很适合做视频会议、视频监控、智能家居等项目。

    聊天开发工具,即时通讯,AnyChat

    AnyChat SDK(AnyChat音视频互动平台)是一套及时通讯开发平台(SDK),包含了 音视频处理模块与P2P网络模块两大部分,可以做为在线游戏的视频引擎,也可以做为视频 会议、网络教育、IM系统等互动平台的核心库。整个...

    3G手机等嵌入式技术终端实现监控,视频会议,即时通讯的平台开发

    “佰锐3G手机视频开发平台”采用分布式网络架构,流媒体服务器可以分别部署在不同的网络中,同时采用P2P技术,流媒体数据不依赖于中心服务器的网络带宽,而且系统的容量也不受限于中心服务器的网络带宽。...

    windows即时通讯包

    一套不错的音视频SDK,可用于二次开发,无回声问题,支持1080P高清视频通讯,采用了P2P技术,支持多平台互通,公开了代码跟开发文档,很适合做视频会议、视频监控、智能家居等项目。

    VB.Net即时通讯软件源代码

    可实现一对一、一对多、对对多的语音、视频和文字的交流,可以用来开发视频会议系统,语音视频聊天系统,语音质量和视频效果均不错,支持P2P网络传输,可以直接集成到现有的项目中。

    AnyChat音视频互动开发平台(SDK) v5.1.zip

    AnyChat音视频互动开发平台(SDK)是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的...

    exchange即时通讯 V2021.1.6

    即时通讯软件:(c++实现) 类似微信的即时通讯 核心代码c++完成,跨平台 (1)支持 文本 、图片 、文件、语音 、 视频 聊天 (2)同时设计开发 android+pc版本  (3)支持javascript脚本,类似微信小程序 (4)内嵌支持...

    Android音视频SDK

    一套不错的android音视频SDK,可用于二次开发,无回声问题,支持1080P高清视频通讯,采用了P2P技术,支持多平台互通,公开了代码跟开发文档,很适合做视频会议、视频监控、智能家居等项目。

Global site tag (gtag.js) - Google Analytics