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服务器传输给播放器。
分享到:
相关推荐
介绍p2p流媒体原理,提供初学者的开发实例。
研究p2p流媒体的好资料 基于MFC vs2010编译成功
Flash P2P流媒体服务器系统(简称P2PS)使用Flash Player客户端和RTMFP协议进行P2P视频直播/点播,极大的节省了服务器昂贵带宽。 工作流程:直播可通过Adobe Flash Media Live Encoder以及其它支持RTMP协议的发布...
用VC6.0开发的流媒体点播,支持windows和linux操作系统。
基于P4P架构的P2P流媒体系统,刘俊轩,,由于P2P技术具有去中心化、可扩展性强、健壮性、负载均衡等技术特点和优势,使P2P流媒体在互联网上的应用日益广泛。然而P2P流量占据
P2P Media Loader - 一个开源JavaScript库,它使用现代浏览器(即WebRTC)的功能通过P2P传送媒体。 它不需要任何浏览器插件或插件即可运行。是Hls.js和Shaka Player的引擎,可通过HLS或DASH实现P2P共享实时和VOD流。
P2P点播直播开源项目是一个由Kevin发起,多人参与开发并不断更新,符合GPL开源协议的开源项目。 目的:缩短企业同类型项目开发周期,集成多种P2P协议,如BT,EMULE等。 主要功能: Peer 间传输数据采用UDP,能有效...
P2P流媒体,点播开源软件,视频技术源码
由中国程序员自主开发的开源的流媒体P2P 客户端服务器。
开源的p2p流媒体,本人正在学习。。很好的源代码,附有API以供查找
Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输 Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
它允许创建点对点网络(也称为P2P CDN或P2PTV),以便在通过HLS或MPEG-DASH协议实时观看同一媒体流或VOD的用户(对等)之间共享流量。 它可以大大减少传统的CDN流量和成本,同时将媒体流交付给更多用户。 相关项目...
从SRS(Simple Rtmp Server)服务器,P2P,ARM监控产业,MIPS路由器,服务器监控管理,ARM智能手机,SRS(Simple Rtmp Server)的规模不再是一个服务器而已。 • 简单实现: 对于过于复杂的实现,宁可不加入这个功能...
PearPlayer(梨享播放器) 是完全用 JavaScript 写的开源 HTML5 流媒体播放框架,实现了融合 HTTP(包含HTTPS、HTTP2)、WebRTC 的多协议、多源、低延迟、高带宽利用率的无插件 Web 端流媒体加速能力。基于 H5 的 ...
Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...
Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...
开源P2P流媒体网络直播系统Goalbit的安装及使用手册
Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...