基于 Node.js 和 WebSocket 协议的高性能分布式视频直播架构
发布于 10 年前 作者 vecio 42418 次浏览 最后一次编辑是 8 年前 来自 分享

初学 Node.js,用 WebSocket 协议实现了一个视频直播服务器,性能果然牛,只有区区 1000 行代码,测试在阿里云最便宜的服务器上轻松扛住几十人同时直播压力

https://blog.shou.tv/the-technology-behind-shoutv

Shou.TV Broadcasting Architecture

其实是来发贴求人才的,本人实在不精通,求大牛继续完善。:D

15 回复

这个性能跟Node没多大关系吧?流媒体我不怎么懂,怎么看Node只是处理了一个类似负载均衡的东西,流媒体播放就没走Node啊

@ravenwang Node.js 是接受视频流的服务器,同时也负责转为 HLS,咋没关系。

求源码。非常感谢!

我愿意贡献点力量,懂些rails和nodejs,java.求QQ 楼主。

@vecio 哦哦Sorry,没仔细看,流媒体服务器也是Node的

@vecio Node.js处理流媒体方面是怎么做的?

@Sokos 没做过多处理,用的 ws 模块,直接接收客户端通过 WebSocket 发过来的 TS 文件,然后通过 C++ 调用 FFmpeg 进行的 HLS 分片

@robustfengbin 现在还没有开源,主要是开源了也没啥用,不是标准协议,准备做的完善一点,客户端和服务器端都达到开源的标准了再一块开放。现在是想找有兴趣的牛人加入公司,一起进步 :D

请问SLSP是基于HTTP的吗,为什么没有直接选择http库而选择websocket?我目前在做的基于http的直播系统,发现http.response每隔14分钟左右会中断,你遇到过吗?

@TadyCao 其实一开始也想用 HTTP,由于用 nginx 作代理,发现它喜欢一直把整个 HTTP 的 body 都缓存完了再发给应用。

而且,一般来说 HTTP 需要知道 Content-Length,感觉上也不太像给流媒体这种使用的,而且也不是双向的

APK、Google Play 下载不了啦?

@sokos 要先加入 https://shou.tv/testing 上这个 Google+ 测试组才行

在意延迟问题 我这边一直在30s以上 而且卡顿严重

不明觉厉, 先默默的看下 crtmp server 协议

回到顶部