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


(多播)

四、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地址转换服务,避免用户陷入混乱。

(RTMP协议)


(RTMFP协议)

五、方案实现

(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你这个臭流氓!

  如此这般不屈不挠的百度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
您可能也喜欢:

中国企业十大被封杀网站排名

Android上Chrome、Firefox和Opera广告过滤方法

视频网站上市去裸奔

好多网站上不去了

使用Readability正常浏览国外网站全文

十大网站管理员的服务器工具软件

内容营销典范——奥巴马竞选视频

网站防止CC攻击的方法

泛搜索时代,网站应该更擅长搜索

视频共享网站简评

如何优化电商网站

【无秘】没有不能说的秘密!

无觅关联推荐[?]

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

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

基于Flash播放器的P2P直播解决方案相关推荐

  1. PKplayer(P2P播放器)开源P2P播放器综述

    国内现在很多直播平台都是基于服务器+CDN方式实现的,包括YY.斗鱼等等,这种方式对于服务器的性能要求很高,而且在用户量增大的时候,服务器压力也会越来越大,用户的体验也会受到很大影响.而基于P2P方式 ...

  2. wince flash Android,关于wince下用C#实现flash播放器

    我的开发是基于 6410 ARMV4I 的一个触摸屏设备 在windows下,用vc#只要引用AxInterop.ShockwaveFlashObjects.dll和Interop.Shockwave ...

  3. 我们计划为EasyDSS定制开发一款超低延时的EasyPlayer Flash播放器

    现象 最近团队在做EasyDSS RTMP流媒体服务器开发的过程中,遇到了一个关于延时累积的问题,先大概描述一下过程: 在EasyRTMP Android进行长时间的RTMP推流压力测试,在EasyD ...

  4. 关于移动设备的Flash播放器,Flash平台,和Flash未来的澄清

    Adobe的Evange List (技术传教士) Mike Chambers又发表了一篇文章,命名为<关于移动设备的Flash播放器,Flash平台,和Flash未来的澄清>,原文地址: ...

  5. python爬取资料_Python爬取FLASH播放器中的资料

    Python爬取FLASH播放器中的资料. 一.首先了解一下AMF协议:AMF(Action Message Format)是Flash与服务端通信的一种常见的二进制编码模式,其传输效率高,可以在HT ...

  6. Adobe Flash Player(Flash播放器)下载地址

    Adobe Flash Player 是一个跨平台.基于浏览器的应用程序运行时,它可以跨浏览器和操作系统.原汁原味地呈现具有表现力的应用程序.内容和视频. Adobe Flash Player(Fla ...

  7. React+阿里云Aliplayer播放器实现rtmp直播(推流时间差,重启播放器,计时观看)

    需求 前端框架为React 用阿里云播放器Aliplayer播放直播 使用的rtmp协议 资料 阿里云播放器 Web端文档:https://help.aliyun.com/document_detai ...

  8. java flash 播放器_视频播放插件Video.js

    插件描述:Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,Video.js 自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器.(要支持 ...

  9. 解决C# webBrowser 您还没有安装flash播放器,请点击这里安装的问题,以及webkit.net 入门

    推荐 CefGlue,, webkit.net 有点问题,有空更新 http://www.cnblogs.com/liulun/archive/2013/05/12/3035127.html 0 背景 ...

最新文章

  1. SOCKET/串口通信粘包问题处理,附带详细代码
  2. python中os.path和pathlib
  3. 白盒测试之初识gtest工具
  4. Filter handling in SAP gateway
  5. 树的遍历 | 翻转二叉树
  6. 燕山大学计算机专业研究生怎么样,求助大家!重庆邮电大学计算机专业的研究生值得一读吗?...
  7. 《你的灯亮着吗》阅读笔记(三)
  8. enum mysql byte_九、臭名昭著的 MySQL ENUM 类型 ( 上 )
  9. error: couldn't connect to server 127.0.0.1:27017 src/mongo/shell/mongo.js
  10. html点击文字展开图片,DIV CSS鼠标经过悬停在图片上时图片上方显示文字
  11. HDOJ 2074 叠筐
  12. 专科python应届生工资多少-Python这么火热,本科应届生薪资这么高?
  13. Pandas DataFrame merge join concat append combin_first 使用demo
  14. Android Jni开发-实战篇(CMake)
  15. 使用 matlab 深度学习工具训练模型
  16. Spring boot mqtt客户端
  17. 好读书之后是什么?(转)
  18. 利用群体遗传数据估计基因组上重组率
  19. 如何对APP进行重新签名(使用命令签名)
  20. 9亿财产如何分配:大S与汪小菲离婚所感

热门文章

  1. CLRS 16.1活动选择问题
  2. 2023最新LaySNS仿RiPro日主题素材源码资源下载站CMS模板源码+LaySNS内核
  3. 解决Outlook分组后收件箱无收件提示的方法
  4. tslib交叉编译与测试
  5. Appium安装指南
  6. VB基础版版务处理_20050626
  7. 加快网站访问速度——Yslow极限优化
  8. 华为防火墙性能指标监控
  9. VHDL智力竞赛抢答器设计
  10. 访问非法内存区和内存泄漏