基于Flash播放器的P2P直播解决方案

转自:http://www.linksoon.net/Solution/Details.html?ID=20


一、方案简介
目前视频直播通用的方案有两种,分别是单播模式和多播模式。单播模式虽然有着数据流稳定的特点,但具有地域化问题,且随着客户量的增加,服务器负载也随之增大,需要投入大量的硬件设备以及巨额的带宽费用。多播模式通常体现为现今的P2P技术。P2P模式解决了单播模式的问题,在提高传输速度和缓解服务器带宽压力上有较大优势,一般在直播中应用得较多。使用P2P技术后可节省内容发布商资金,提高数据流通量。

Adobe Flash Media Server 4(以下简称FMS4)发布后, 联讯软件立即投入大量人力进行研究与开发。在其发布短短几周内便掌握了Flashplayer P2P API的使用以及服务器的配置方法。 

P2P功能采用了最新的Flash RTMFP协议,该协议可以允许使用Adobe Flash Player 10.1的终端用户之间进行直接通信即实现了P2P传输技术。通过使用RTMFP,直播系统将极大降低带宽消耗,媒体数据在终端用户之间流动,不完全由服务器提供,更适合做大规模直播应用。

二、关于P2P
P2P是英文Peer-to-Peer(对等)的简称,又被称为“点对点”。“对等”技术是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P还是英文Point to Point (点对点)的简称。它是下载术语,意思是在你自己下载的同时,自己的电脑还要继续做主机上传,这种下载方式,人越多速度越快。

三、单播和多播的区别
单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。

(单播)

多播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它不仅提高了数据传送效率,还减少了骨干网络出现拥塞的可能性。

基于Flash播放器的P2P直播解决方案_第1张图片
(多播)

四、RTMP和RTMFP的区别
RTMP(Real- Time Messaging Protocol)协议用于单播, RTMFP(Real‐Time Media Flow Protocol)协议用于多播。RTMP是基于TCP的,RTMFP是基于UDP的。UDP在传送直播数据方面比TCP有较多的优势,比如减少延时、对丢包的容忍,虽然在可靠性上有所损失。不象RTMP, RTMFP支持Flash Player直接发送数据给另一个,而不经过Server。服务端连接将被用来初始化并交互一些客户端之间的信息,也可用来进行服务端调用或者作为进入其他系统的网关。FMS4也将用来为用户提供地址认证服务和NAT地址转换服务,避免用户陷入混乱。
基于Flash播放器的P2P直播解决方案_第2张图片
(RTMP协议)

基于Flash播放器的P2P直播解决方案_第3张图片
(RTMFP协议)

五、方案实现
基于Flash播放器的P2P直播解决方案_第4张图片 

(1)视频源:可以使用电视信号、摄像机以及其他编码机支持的视频源。
(2)编码机通过采集卡将信号采集并转码,配合FMS4配置器以RTMP协议发送给FMS4服务器。
(3)配置器(为方便用户使用,我公司重新编写了中文版配置器)专用于生成多播地址的应用。并将此地址分发给编码机及直播应用(联讯电视直播系统、网络课堂系统及网络电视台系统适用)。
(4)直播应用将多播地址发送至我公司客户端视频播放器,视频播放器识别多播地址后,向FMS服务器请求后,获得视频源及其他种子信息并开始视频数据传送。

六、技术特点
1、布置简单。 只需要安装流媒体服务器并进行简易配置即可。
2、高扩展性。 可配置多台FMS服务器组成集群, 增加负载能力。
3、RTMFP协议采用了UDP提升了传送的速度,相对之前的TCP协议在数据传输效率上大大提高。 UDP是Internet上一种更有效传送音频视频的方法,虽然会有一些丢包,错包。RTMFP有两个特性可以帮助解决一些连接错误。
(1)快速连接恢复:连接在以外情况下将快速恢复。例如,一个无线连接掉线了,一旦重连,他将迅速拥有所有的传送能力。
(2)IP动态化:一个活动的网络会话将以PEER来标识,即使他变了一个IP,也可以保持原来的会话。例如,一个笔记本在一个无线网络获得了一个新IP地址,他将立刻继续刚才的会话。
4、减少音视频直播、点播、多人在线游戏等应用的网络带宽的消耗,减轻服务器的负担。
5、负载均衡。P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。

以下转自:http://www.williamlong.info/archives/3304.html


众所周知中国的网络国情,还有一大部分人活在电信/网通这两个老流氓的adsl线路上。目前中国电信4m的ADSL基本在400k/s的下载速度和50k/s的上传速度(这里我就不说bps了,就说大家能看到的下载速度),又由于ADSL的不对称速度技术,如果你上传的时候占满了这50k,那么基本你的下载带宽是无法使用的,把ADSL想象成一根水管,水流是可以随意控制的,这根水管同时要担负上水和下水的作用,如果直径的90%用来上水了,那么就只有10%可以下水了。

  应用的例子就是你在用QQ传一个比较大的文件给朋友,如果显示速度是50k或50k以上,那么这时不论你是下载,看视频,甚至开网页都会觉得卡。(光纤不会这样,和ADSL理论不同,分辨你家是ADSL还是光纤就看你家的猫/路由上有没有电话线)

  但是这在平时的使用上并不会给我们造成多大的困扰,或者说不会给稍微懂点电脑知识的人造成多大困扰,我们在传文件的时候就尽量不开其他网站,我们在使用迅雷下载的时候把上传速度设置成10k,我们在看视频的时候不使用PPS、PPlive、腾讯视频这些P2P软件,而使用在线的Flash。如果都这么做了,日子也不是不能过,就是过的苦一些罢了。

  但是突然有一天,也许是午后的燥热让那么一小撮人决定开始耍流氓了。Adobe公司在自家的招牌垃圾软件Flash上开发了P2P技术,说是架不住各方面反映,顺应潮流,其实估计也就是中国那几个流氓视频公司提出的要求,他们肯定觉得每月支付高昂的带宽费的姿势哪比的上耍个流氓用贱民们自己的带宽赚广告费来的潇洒自在呢,于是在狼狈为奸的情况下,Adobe开放了新版支持P2P技术的Flash的下载,优酷搜狐奇艺过上了一手逼着网民看广告赚取广告费,一手捏着网民的ADSL小水管使劲撸的好日子。

  于是一个月黑风高的夜里,一介草民的你发现,哎?往常能看超清都不卡的网络怎么突然看高清都开始卡了?于是你开始找自己的原因,是不是开着迅雷呢,是不是没关电驴呢,找了一圈你发现你全关了,流量监测软件里面显示浏览器正在疯狂上传,这超出了常人理解的能力,若是说给一个有点电脑知识的人听,打死他也不会相信Flash可以P2P上传。要知道既懂电信又懂ADSL的你通常将自己的可怜的50k上传带宽看的根宝贝一样,无论何时也不容别人随便占用,凡是能控制上传带宽的软件,一概不用,突然被人一个大嘴巴抽脸上,就你这一介草民以为看了几十秒广告就能免费看视频?必须给我上传,还必须占满你50k,还不告诉你,卡死你。

  于是乎,你疯了,发疯的从百度,谷歌上搜索既可以不上传又可以流畅看视频的方法。却只见各种BBS上一众屌丝鬼哭狼嚎,突然,在某哀嚎贴45楼看到一位大神意味深长的写,Flash里面不是有设置么,你感激涕零的颤抖着打开了Flash全局设置,找到“阻止所有站点使用对等协助网络”这晦涩难懂的关闭P2P上传的选项,仰天长啸,还是Adobe厚道。设置完成后,打开一个超清视频,看着依然50k/s的上传,你吐了口吐沫,咽了咽口水,又吐了口吐沫,挽起了袖子,挥舞着你那小胳膊高喊,Adobe你这个臭流氓!

基于Flash播放器的P2P直播解决方案_第5张图片

  如此这般不屈不挠的百度Google了2个月,终于我发现了一个神奇的东西,Adobe给法律留了一扇门,请允许我这样猜测一个流氓公司,它(也请允许我用宝盖它)留了一个只有程序员才会用到的mms.cfg文件,这个文件可以控制所有Flash的设置,于是下载了英文版的“Flash管理员手册”,找到了那让我梦寐以求的一条命令RTMFPP2PDisable=1,Adobe果然是国际大公司,欺骗群众的同时不忘遵守法律,您要是被迫上传了,告它了,它可以拿出这条命令告诉你,不是我不让你设置,是你自己找不到。颤抖着,我在mms.cfg里写入了这条命令。

  以下是屏蔽Flash P2P上传的命令语句。

  echo RTMFPP2PDisable=1 >> %windir%\system32\Macromed\Flash\mms.cfg

  echo RTMFPP2PDisable=1 >> %windir%\syswow64\Macromed\Flash\mms.cfg

  echo RTMFPP2PDisable=1 >> %windir%\system32\mms.cfg

  关于如何测试你的上传是否被关闭了呢?

  1,保证你的带宽0使用,打开流量监测软件,上传下载应该都小于1k/s。

  2,上优酷首页开个视频,越热门越好,综艺类尤佳。改成超清模式。

  3,观察你的浏览器流量

  4,看3分钟以上,如果你的上传速度和我一样还保持在1k以下,那恭喜你,你让这个世界变的美好了一点点,这种对抗耍流氓的行为,虽然只是那么一点点,但可能可以让更多的人免于被耍流氓。

  来源:投稿,作者遥小望。有问题可以来新浪微博@遥小望。

  更新:Adobe平台技术经理马鉴在微博回应:RTMFP(P2P)协议必须要求网站服务器端使用Adobe Media Server 4以上的版本。优酷等视频站点并不是Adobe Flash Media Server商用客户,不可能启用P2P功能,所以客户端关闭P2P也就无从说起。

168


  除非注明, 月光博客文章均为原创,转载请以链接形式标明本文地址 

  本文地址: http://www.williamlong.info/archives/3304.html

你可能感兴趣的:(基于Flash播放器的P2P直播解决方案)