P2P流媒体引擎

vuePress-theme-reco    2018 - 2021
P2P流媒体引擎 P2P流媒体引擎

Choose mode

  • dark
  • auto
  • light
在线文档
  • 快速入门
  • Web SDK

    • Hls.js
    • MP4
    • Dash.js
    • Shaka-Player
    • 大文件下载
    • 网站加速
  • Android SDK
  • iOS SDK
  • Flutter SDK
价格
解决方案
  • 机顶盒/IPTV
控制台
关于我们
GitHub
language
  • English
  • 简体中文

在线文档
  • 快速入门
  • Web SDK

    • Hls.js
    • MP4
    • Dash.js
    • Shaka-Player
    • 大文件下载
    • 网站加速
  • Android SDK
  • iOS SDK
  • Flutter SDK
价格
解决方案
  • 机顶盒/IPTV
控制台
关于我们
GitHub
language
  • English
  • 简体中文
  • 快速入门
  • 常见问题
  • 信令服务
    • 简介
    • 免费信令服务
    • 自行部署
    • 更换信令方法
    • 开启信令鉴权
  • P2P优化
  • 控制台

    • 绑定域名/AppId
    • 数据分析
    • P2P控制
    • Restful API
  • Hls.js SDK

    • 简介
    • 使用方法
    • 第三方播放器
    • CMS集成
    • API文档
    • CDN
    • 更新日志
  • 安卓 SDK

    • 简介
    • 使用方法
    • API文档
    • 更新日志
  • iOS SDK

    • 简介
    • 使用方法
    • API文档
    • 更新日志
  • Flutter SDK

    • 简介
    • 使用方法
    • API文档
    • 更新日志
  • 网站加速 SDK

    • 简介
    • 使用方法
    • API文档
    • 更新日志
  • Shaka-Player SDK

    • 简介
    • 使用方法
    • 第三方播放器
    • API文档
    • 更新日志
  • Web MP4 SDK

    • 简介
    • 使用方法
    • 第三方播放器
    • API文档
    • 更新日志
  • Dash.js SDK

    • 简介
    • 使用方法
    • 第三方播放器
    • API文档
    • 更新日志
  • 大文件下载 SDK

    • 简介
    • 使用方法
    • API文档
    • 更新日志
  • 安卓 SDK 1.x

    • 简介
    • 使用方法
    • API文档
    • 更新日志
  • 更多

    • 技术原理
    • 用户服务协议

信令服务

vuePress-theme-reco    2018 - 2021

信令服务


# 简介

信令服务器用于在WebRTC建立P2P连接过程中交换信令。

不同信令服务器的节点即使播放同一个视频也无法进行P2P。

# 免费信令服务

  • wss://signal.cdnbye.com (香港节点,默认)
  • wss://opensignal.cdnbye.com (美国节点)
  • wss://signalcloud.cdnbye.com (德国节点)
  • wss://signal.p2pengine.net:8089 (俄罗斯节点)

# 自行部署

可自行部署信令服务器,以下为开源参考:

  • cbsignal (Go语言编写)

cbsignal默认不开启zlib压缩,可以开启以降低服务器出带宽,在 config.yaml 开启压缩。

# 更换信令方法

# 通过云端下发(推荐)

  • 登录控制台
  • 依次点击 P2P配置 -> 信令管理
  • 输入信令地址(以wss或者ws开头),点击确定即可生效

# SDK侧配置

# Web SDK

p2pConfig: {
    wsSignalerAddr: 'ws://your.signalservice.com',
    // Other p2pConfig options provided by cdnbye
}
// Pass p2pConfig to your P2PEngine ...

# 安卓SDK

P2pConfig config = new P2pConfig.Builder()
    .wsSignalerAddr("ws://your.signalservice.com")
    .build();
P2pEngine.initEngine(ctx, YOUR_TOKEN, config);

# iOS SDK

CBP2pConfig *config = [CBP2pConfig defaultConfiguration];
config.wsSignalerAddr = @"ws://your.signalservice.com";
self.engine = [[CBP2pEngine alloc] initWithToken:YOUR_TOKEN andP2pConfig:config];

# Flutter SDK

Cdnbye.init(
  YOUR_TOKEN,
  config: P2pConfig(
    wsSignalerAddr: 'ws://your.signalservice.com',
  )
);

# 开启信令鉴权

在私有部署信令服务情况下,可以开启对信令连接鉴权,阻止未授权请求,步骤如下:

  • 在 config.yaml 配置鉴权:
security:
  enable: true             # 开启鉴权
  maxTimeStampAge: 3600    # 时间戳过期时间,单位秒
  token: YOUR_TOKEN        # 自定义token,不能大于8个字符           
  • 联系官方客服告知信令地址和token
  • Tracker服务器将为授权的节点下发token加密过的字符串,用于信令服务鉴权