P2P流媒体开源项目汇总与简述
1. PeerCast项目
2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来,每个频道都是一颗树,直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延迟就越大,所以数的深度应该尽可能短,但节点有限的上行带宽限制了节点的带宽。
2. Tribler项目
2008年开始的项目,既能实现BT下载,还能播放视频的点播与直播。最大的特点是完全去中心化的设计,把传统的Tracker Server的工作分散到每个节点中去。开发语言是python。
3. GoaltBit项目
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 Serevr:为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流媒体开源项目介绍
P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目.PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据. ...
- P2P流媒体开源项目介绍
P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目.PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据. ...
- 【P2P】【转载】P2P流媒体开源项目介绍
大神的整理 P2P流媒体开源项目介绍 前言: 最近在做一个网站,发现p2p流媒体技术对于解决高流量高带宽问题真的很不错. 据说现在一些视频和直播公司在研究p2p+cdn,证明了p2p永不过时. 先记录 ...
- 6个P2P流媒体开源项目介绍
P2P流媒体开源项目介绍 1. PeerCast 2002年成立,最早的开源P2P流媒体项目.PeerCast把节点按树结构组织起来, 每个频道都是一个树, 直播源是根节点,父节点只给子节点提供数据 ...
- Golang优秀开源项目汇总(持续更新。。。)
Golang优秀开源项目汇总(持续更新...) 我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open ...
- Vue.js经典开源项目汇总
Vue.js经典开源项目汇总 Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计 ...
- Vue常用经典开源项目汇总参考-海量
Vue常用经典开源项目汇总参考-海量 Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的 ...
- GitHub中已开源项目汇总
GitHub中已开源项目汇总 QT 端软件 输入法 串口工具 AI IOT 网络协议 安卓 音频工具 嵌入式端软件 协议类 引导升级类 音频类 USB组合设备 下载算法制作 串行数据驱动框架 边缘计算 ...
- Android开源项目汇总20150712更新
Trinea (github)总结的Android开源项目汇总 转此记录研究 附一些内容 目前包括: Android开源项目第一篇--个性化控件(View)篇 包括ListView.ActionBar ...
最新文章
- ryu的防火墙功能 ryu.app.rest_firewall,配合mininet和open vswitch(OVS)
- centos 安装java1.7_centOs安装jdk1.7
- 安卓活动(Activity)和碎片(Fragment)的生命周期
- 电脑c语言怎么调出来的,c语言系统源代码_C语言判断系统版本的代码怎样将值调出来啊...
- python3自动化软件发布系统_基于python3做C/S端自动化测试可能用到的工具(不断更新中。。。。)...
- 源码分析Dubbo Invoker概述----服务发现、集群、负载均衡、路由体系
- 工作流(activiti7)-简单的介绍和使用(二)
- 金蝶kis专业版公网访问_金蝶KIS远程服务器端和远程客户端配置说明
- 福建等保测评五流程,收藏收藏
- 9. Enhancing Aspect Term Extraction with Soft Prototypes论文阅读笔记
- 电脑技术员联盟 GhostXp Sp3 装机版V5.1
- SHAP 可视化解释机器学习模型简介
- 戴尔启动修复无法自动修复此计算机,在 Dell 计算机上运行 Windows 启动修复
- [Android 9][markw] 红米4高配版 刷入Lineage OS 16与OpenGApps
- 第七篇 indicators(4)自建指标
- Nexus5刷Firefox OS 2.0
- ab压测_上传图片进行压测
- Thunar文件管理器新增一个使用root权限打开当前目录或者文件夹
- 微软远程桌面升级到RDP8的方法
- java程序员语录_java程序员励志说说26条
热门文章
- 编码器-解码器(seq2seq)
- 运行错误 terminate called without an active exception
- 一坨咸鱼怎么更上一层楼
- 计算机丢失ac1st.dll怎么找回,处理CAD系统错误win10中丢失ac1st16.dll的恢复方法
- 《墨菲定律》读书笔记(3)
- 无人机的微分平坦性详细推导+Mini snap
- 【无标题】Deep AVPpred:人工智能驱动的病毒感染多肽药物的发现
- Ubuntu 16.04安装ROS Kinetic
- win7无法通过网页登录ftp服务器,win7不能登录ftp服务器配置
- H5+CSS实现三级菜单(包括水平、垂直菜单和网页架构)