zoukankan      html  css  js  c++  java
  • P2P直播、点播技术学习经验

    自8月份以来一直埋头学习P2P在音/视频直播、点播上的学习,受到不少网友的帮助,在此也留下自己学到的一点点的经验。

           第一个接触的开源项目是peercast,应该说上手非常快,这必须感谢王浩聪的注释版,稍做调整后便架起了自己的广播平台,运行起来效果也很理想。于是尝试发布视频流,在局域网内测试未发现问题,但是拿到广域网上问题马上出来了,播放要么中断、要么缓冲。

           于是,仔细学习代码的相关流程,网上也查了一些资料,发现peercast的网络模型为树形,而视频所需要的上传流量一般都在30K以上,这样客户机很难满足下线所需的资源。所以才会出现问题。为了更深入的学习

           为了更深入的学习P2P应用,第二个编译的是mysee公司开源的myseelite,这个项目共开放了三个版本:myseelite1、myseelite2.0、myseelite2.1,下面我将粗略的介绍下这三个版本:

           myseelite1  这个版本的服务端必须运行在linux系统上,为了编译这个版本,我特地弄了一台linux机器,TP、CP、SP三个服务全部编译成功,运行MMSServer.exe连接成功,但服务端去没有看到生成的相关频道信息,在调试中找到了几位网友也在看这个项目,知道还有myseelite2。

           myseelite2.1 先介绍2.1是因为我是先从2.1开始编译的,环境搭好以后,顺利编译出各个程序并配置、运行,Capture.exe点上传后崩溃。经网友指点得知2.1问题比较多,放弃~

           myseelite2.0  既然2.1有问题那我们就用2.0学习也一样,环境之前搭好,编译也顺利,运行。。。playerd.exe崩溃。。。(我特想找个人抽两下),后经指点2.0播放器有问题要用2.1的来播放,好吧!换了播放器之后果然可以播放。然而经过更深入的测试发现,问题依然很多。。。比如播放一段时间后莫名中断,有时无法P2P。。。。

           至此,mysee三个版本全部接触过,果真是个令真震撼的开源项目,八卦的话咱就不多说了,既然是来学习的,代码还得深入的看,经过两周的编译、调试,才发现自己是多么的才疏学浅,居然没能把这套东西稳定运行。。。。

          第三个是P2PCenter,有人说这个项目是个团队开发,不如mysee有公司背景,我不知道这位兄台是否亲自编译过这些项目,就我学习的经验来看,P2PCenter采用UDP协议,比mysee的tcp更适合做P2P,P2PCenter编译可直接部署运行,至于稳定性我无法评论,因为我主要学习直播,而P2PCenter是无法实现直播的,虽然网上都在转载它可以直播,但我没有看出来它如何直播。

         如果让我推荐,那么我首推P2PCenter,无论你做直播还是点播,这个应该都是最佳选择,点播可以直接部署,直播需要自己写个采集MMS流的模块。

        纯学习推荐peercast,虽然太老,但是个非常成熟的项目,值的学习。

        至于mysee,如果你的空余时间多,有充分的时间DEBUG,那么可以去看看。至少我个人认识这个项目没啥可学习的地方,首先他是TCP的协议,本身就不适合做P2P,再着问题不是一般的多。

  • 相关阅读:
    django 项目需要注意的一些点
    VUE之路
    Oracle 表格碎片的查看方法
    RHEL 6.x or 7.x 使用分区绑定ASM 磁盘的方法
    RMAN 修复主库 nologging 操作导致物理备库的坏块
    Oracle 数据库19c 回退降级到 11.2.0.4 方案
    如何评估oracle 数据库rman全备和增量备份大小
    在将Oracle GI和DB升级到19c或降级到以前的版本之前需要应用的补丁 (Doc ID 2668071.1)
    Oracle 数据库坏块处理
    opatch auto 安装11.2.0.4.20190115 PSU遇到 OUI-67133: Execution of PRE script failed,with returen value 1 报错
  • 原文地址:https://www.cnblogs.com/lidabo/p/4160129.html
Copyright © 2011-2022 走看看