绑定域名
在使用P2P服务之前,需要先绑定域名。
TIP
Localhost 已加入白名单,无需绑定,用于本地调试。
第三方播放器集成
参考播放器示例。
引入插件
Script标签引入
html
<script src="https://cdn.jsdelivr.net/npm/@swarmcloud/shaka"></script>
文件引入
Browserify / Webpack
shell
npm install --save @swarmcloud/shaka
在播放器模块中通过 require 引入cdnbye:
javascript
var P2PEngineShaka = require('@swarmcloud/shaka');
或者使用ES6的 import 语法:
javascript
import P2PEngineShaka from '@swarmcloud/shaka';
使用插件
javascript
const player = new shaka.Player();
player.attach(video);
if (P2PEngineShaka.isSupported()) {
new P2PEngineShaka(player, {
// trackerZone: 'hk', // if using Hongkong tracker
// trackerZone: 'us', // if using USA tracker
// token: YOUR_TOKEN
},shaka);
}
player.load(play_url)
文件解释
@swarmcloud/shaka/
├── shaka-p2p-engine.min.d.ts # Typescript type information
├── shaka-p2p-engine.min.js # P2pEngine that supports both Dash and Hls
└── shaka-p2p-engine.hls.min.js # P2pEngine that supports Hls only
└── shaka-p2p-engine.dash.min.js # P2pEngine that supports Dash only
Electron
本插件同样支持 Electron 平台,只需求将从控制台获取的token等信息传进config中即可,如下所示:
javascript
new P2PEngineShaka(player, {
token: YOUR_TOKEN,
appName: YOUR_APP_NAME, // 应用的名称
appId: YOUR_APP_ID, // 需要与控制台输入的保持一致
// Other p2pConfig options if applicable
});