Make sure that the golang development environment is installed
git clone https://github.com/cdnbye/cbsignal.git
cd cbsignal
make
or directly use compiled linux file cbsignal .
Upload binary file, admin.sh and config.yaml to server, create cert
directory with signaler.pem
and signaler.key
, then start service:
chmod +x admin.sh
sudo ./admin.sh start
import Hls from 'cdnbye';
var hlsjsConfig = {
p2pConfig: {
wsSignalerAddr: 'ws://YOUR_SIGNAL',
// Other p2pConfig options provided by hlsjs-p2p-engine
}
};
// Hls constructor is overriden by included bundle
var hls = new Hls(hlsjsConfig);
// Use `hls` just like the usual hls.js ...
GET /info
Response:
Status: 200
{
"ret": 0,
"data": {
"version"
"current_connections"
"cluster_mode"
"num_goroutine"
"num_per_map"
}
}
RPC is used to communicate between all nodes. Specify master IP in config_cluster.yaml
, then start service:
sudo ./admin.sh start cluster config_cluster.yaml
- cbsignal_node - High performance CDNBye signaling service written in node.js
请先确保已安装golang开发环境
git clone https://github.com/cdnbye/cbsignal.git
cd cbsignal
make
或者直接使用已经编译好的linux可执行文件 cbsignal
将编译生成的二进制文件、admin.sh和config.yaml上传至服务器,并在同级目录创建cert
文件夹,将证书和秘钥文件分别改名为signaler.pem
和signaler.key
放入cert,之后启动服务:
chmod +x admin.sh
echo -17 > /proc/$(pidof cbsignal)/oom_adj # 防止进程被OOM killer杀死
sudo ./admin.sh start
import Hls from 'cdnbye';
var hlsjsConfig = {
p2pConfig: {
wsSignalerAddr: 'ws://YOUR_SIGNAL',
// Other p2pConfig options provided by hlsjs-p2p-engine
}
};
// Hls constructor is overriden by included bundle
var hls = new Hls(hlsjsConfig);
// Use `hls` just like the usual hls.js ...
GET /info
响应:
Status: 200
{
"ret": 0,
"data": {
"version"
"current_connections"
"cluster_mode"
"num_goroutine"
"num_per_map"
}
}
节点之间采用RPC进行通信,首先在 config_cluster.yaml
中指定master节点的内网IP, 然后启动服务:
sudo ./admin.sh start cluster config_cluster.yaml
- cbsignal_node - 基于node.js开发的高性能CDNBye信令服务