p2p流媒体平台有哪些(p2p工作模式)

P2P流媒体开源项目介绍1.PeerCast2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来,每个频道都是一个树,直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延就越大,所以树的深度应该尽可能短,但节点有限的上行带宽限制了节点的宽度。 2.Tribler2008年开始的项目,既能实现BT下载,还能播放视频的点播和直播…

大家好,又见面了,我是你们的朋友全栈君。

P2P流媒体开源项目介绍
1. PeerCast

2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延就越大,所以树的深度应该尽可能短,但节点有限的上行带宽限制了节点的宽度。

 

2. Tribler

2008年开始的项目,既能实现BT下载,还能播放视频的点播和直播。最大的特点是完全去中心化的设计,把传统的Tracker Server的工作分散了每个节点中去。开发语言是Python

 

 

3. GoalBit
2008年开始。GoalbitSolution公司推出的开源P2P流媒体直播系统。采用网状结构,节点间传输采用TCP协议(基于UPNP)。
把节点划分为以下三种:
– 广播节点:只提供数据给超级节点
– 超级节点:负责把数据分发给普通节点

– 普通节点:  从P2P网络下载和上传数据

 

4. PeerStreamer
2009年开始。是欧洲NAPA WINE P2P-TV项目的开源流媒体引擎。 支持视频的点播和直播。有高效的P2P算法, 对网络的适应性好, 针对不同网络情况都能实现较好的播放效果。当然,代码比较庞大和复杂。主要特点如下:
– 支持几乎所有媒体格式
– 可配置的组块算法
– 可配置的网络拓扑结构
– 支持多种流媒体协议(推模式/拉模式/协商)
– 可配置的数据块/节点策略
– 可配置的数据块/节点策略
– 支持ALTO(应用层流量优化)

 

5.  Myseelite

2007年开始。 是Mysee公司曾经开源过的P2P流媒体项目。设计目标是支持大规模并发的视频直播系统。采用ACE+wxWidget的跨平台开发组件。节点间传输采用TCP协议(不支持双内网传输)。 子系统包括以下几个部分:
– Capture Server: 获取直播流。可以从Windows Media Server, Helix Server获取节目流。支持mmsh,mmst, rtsp
– Super Peer: 接收Capture Server传输来的流,作为P2P网络的源节点,为Client提供数据。
– Tracker Server: 为Client提供请求数据所在的Super Peer地址及相关的所有Client节点信息。

– Client: 从Super Peer和其他Client节点获取直播流。然后提供给GUI播放

 

6. P2Pcenter
2008年一个国内团队发起的开源项目。支持各种格式的视频点播。节点间传输采用UDP,能有效穿越防火墙。用C++开发。架构相对简单,P2P系统分以下三部分:
– Tracker Server:
负责维护频道信息,以及节点转发,以及节点传输状态监控等工作。
– OrderClient节目发布客户端:
发布本地视频信息, 把视频内容通过P2P网络分发到其他观看客户端。
– P2PService 接收客户端:
在本地构建了http服务器, 当第三方播放器(vlc, realplayer等)发起播放请求时, 通过p2p网络获取播放数据, 由http服务器传输给播放器。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126991.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 每个人都应该是善良的

    每个人都应该是善良的

  • Android获取分辨率和像素密度「建议收藏」

    Android获取分辨率和像素密度「建议收藏」看了网上好多的代码说是获取的分辨率其实得到的是屏幕的宽和高。1.如何获取分辨率和像素密度2..实现代码如下 DisplayMetricslocalDisplayMetrics=newDisplayMetrics(); try{ DisplaylocalDisplay=getWindow().getWindowManager().getDefaultDispl

  • 背包问题-动态规划java实现代码

    背包问题-动态规划java实现代码背包问题-动态规划背包问题是如今面试流行的面试题之一,我们可用动态规划解题

  • 解释ER图并说明它的作用_er图中属性用什么表示

    解释ER图并说明它的作用_er图中属性用什么表示展开全部1、描述现实世界关系62616964757a686964616fe78988e69d8331333431356566概念模型的有效方法。2、表示概念关系模型的一种方式。3、用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;4、用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实…

  • 天堂2四章_天堂2外网设置

    天堂2四章_天堂2外网设置天堂2私服架设技术教程  

  • win系统JDK卸载和彻底删除

    win系统JDK卸载和彻底删除▌第一步:进入“控制面板”。▌第二步:进入“卸载程序”。▌第三步:进入到“程序和功能”界面找到jdk的两个程序:①java8update171(64-bit);②javaSEDevelopmentKit8update171(64-bit);分别右键卸载▌第四步:删除注册表编辑器中的文件在“运行”中输入Regedit,进入注册表编辑器,找到HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft,将JavaSoft文件夹及其子目录全部删除…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号