【P2P】【转载】P2P流媒体开源项目介绍[通俗易懂]

大神的整理P2P流媒体开源项目介绍前言:最近在做一个网站,发现p2p流媒体技术对于解决高流量高带宽问题真的很不错。据说现在一些视频和直播公司在研究p2p+cdn,证明了p2p永不过时。先记录先来,有时间慢慢研究PeerCast2002年成立,最早的开源P2P流媒体项目。PeerCast把节点按树结构组织起来,每个频道都是一个树,直播源是根节点,父节点只给子节点提供数据。节点离根节点越远,传输时延就越大,所以树的深度应该尽可能短,但节点有限的上行带宽限制了节点的宽度。Tribler..

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

P2P流媒体开源项目介绍

前言:
最近在做一个网站,发现p2p流媒体技术对于解决高流量高带宽问题真的很不错。
据说现在一些视频和直播公司在研究p2p+cdn,证明了p2p永不过时。
先记录先来,有时间慢慢研究

PeerCast

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

Tribler

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

GoalBit

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

PeerStreamer

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

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播放

P2Pcenter

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

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127854.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jeesite快速开发平台(七)—-代码生成原理

    jeesite快速开发平台(七)—-代码生成原理

    2021年6月16日
    130
  • Pytest(15)pytest分布式执行用例「建议收藏」

    Pytest(15)pytest分布式执行用例「建议收藏」前言平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间

    2022年7月28日
    19
  • pycharm不显示结果_pycharm界面

    pycharm不显示结果_pycharm界面网上说是什么包问题的就说了。我遇到一个非常奇葩的问题因为你的设置可能是这样每次都在窗口右侧的工具栏那边显示。可能突然心情不佳就不显示了。然后你再把勾去掉即可。你要喜欢再点上也行。转载于:https://www.cnblogs.com/theWinter/p/8320343.html…

    2022年8月25日
    7
  • android中ListView的用法[通俗易懂]

    android中ListView的用法[通俗易懂]地址:https://www.cnblogs.com/s-y-j/p/6548032.htmlLisView介绍:(一)、ListView概念:ListView是Android中最重要的组件之

    2022年7月1日
    23
  • Sublime Text3 搭建python环境「建议收藏」

    Sublime Text3 搭建python环境「建议收藏」一.安装sublimeSublimeText:一款具有代码高亮、语法提示、自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,最重要的是非常的轻便。sublimeTexe3下载地址:http://www.sublimetext.com/3二.安装packageControlSublimetext是通过packagecontrol来对插件进行安装和卸载。…

    2022年7月27日
    3
  • Google earthios_初步探索的重要成果

    Google earthios_初步探索的重要成果一、申请使用1.GoogleEarthStudio(以下简称GES)需要申请才能使用,前往GoogleEarthStudio官网注册申请,审核时间较久.2.审核通过,填写信息时留下的邮箱会收到如下提醒3.在Chrome浏览器中打开网址https://earth.google.com/studio/,会看到如下截图二、启动页1.新建项目,有两种方式分别是Blan…

    2022年9月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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