綁定網域
在使用P2P服務之前,需要先綁定網域。
TIP
Localhost 已加入白名單,無需綁定,用於本地除錯。
Demo
參考播放器範例。
引入外掛程式
Script標籤引入
html
<script src="https://cdn.jsdmirror.com/npm/@swarmcloud/vhs"></script>檔案引入
Browserify / Webpack
shell
npm install --save @swarmcloud/vhs在播放器模組中透過 require 引入cdnbye:
javascript
var P2pEngineVHS = require('@swarmcloud/vhs');或使用ES6的 import 語法:
javascript
import P2pEngineVHS from '@swarmcloud/vhs';使用外掛程式
javascript
var engine;
var player = videojs('my_video', {
html5: {
vhs: {
overrideNative: true // Enable p2p if the platform supports Media Source Extensions
},
}
});
player.on('xhr-hooks-ready', () => {
if (engine) {
engine.destroy();
}
engine = new P2PEngineVHS(player, {
// trackerZone: 'hk', // if using Hongkong tracker
// trackerZone: 'us', // if using USA tracker
// token: YOUR_TOKEN
})
});
player.src(YOUR_PLAYLIST_URL)或
javascript
var player = videojs('my_video', {
html5: {
vhs: {
overrideNative: true // Enable p2p if the platform supports Media Source Extensions
},
}
});
var engine = new P2PEngineVHS(player, {
globalVhs: videojs.Vhs,
// trackerZone: 'hk', // if using Hongkong tracker
// trackerZone: 'us', // if using USA tracker
// token: YOUR_TOKEN
}, videojs)
player.src(YOUR_PLAYLIST_URL)檔案說明
@swarmcloud/vhs/
├── vhs-p2p-engine.min.d.ts # Typescript type information
├── vhs-p2p-engine.min.js # P2pEngine that supports both Dash and Hls
└── vhs-p2p-engine.hls.min.js # P2pEngine that supports Hls only
└── vhs-p2p-engine.dash.min.js # P2pEngine that supports Dash only