自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,再着问题不是一般的多。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2012-12-12 如何在编辑框中使用IAutoComplete接口
2012-12-12 activex嵌入浏览器时线程触发事件
2012-12-12 2010-10-19 10:48 Activex调试以及m_hWnd为空 解决办法
2012-12-12 MFC Activex OCX Javascript 互相访问问题,线程回调javascript
2012-12-12 使用PostThreadMessage (Using CWinThread) .
2012-12-12 2011-03-29 14:53 ActiveX控件中接收并处理Windows消息的问题
2012-12-12 DLL/OCX中的MFC对话框不能处理Tab和回车键的问题 .