1 Star 1 Fork 1

swarmcloud/hls-p2p-engine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
videojs.html 2.74 KB
一键复制 编辑 原始数据 按行查看 历史
snowinszu 提交于 2024-08-12 00:41 +08:00 . release v2.12.1
<html>
<head>
<title>CDNBye videojs demo</title>
<link href="//cdnjs.cloudflare.com/ajax/libs/video.js/7.8.2/video-js.min.css" rel="stylesheet">
<script src="//cdnjs.cloudflare.com/ajax/libs/video.js/7.8.2/alt/video.core.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<!-- videojs-hls-quality-selector -->
<script src="//cdn.jsdelivr.net/npm/videojs-contrib-quality-levels@2.0.9/dist/videojs-contrib-quality-levels.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/videojs-hls-quality-selector@1.1.1/dist/videojs-hls-quality-selector.min.js"></script>
<!-- p2p-plugin -->
<script src="//cdn.jsdelivr.net/npm/cdnbye@latest/dist/videojs-hlsjs-plugin.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@swarmcloud/hls/p2p-engine.min.js"></script>
</head>
<body>
<video id=video width=600 height=300 class="video-js vjs-default-skin" controls>
</video>
<h3>download info:</h3>
<p id="info"></p>
<script>
var p2pConfig = {
logLevel: 'debug',
swFile: './sw.js',
live: false, // set to true in live mode
getStats: function (totalP2PDownloaded, totalP2PUploaded, totalHTTPDownloaded) {
var total = totalHTTPDownloaded + totalP2PDownloaded;
document.querySelector('#info').innerText = `p2p ratio: ${Math.round(totalP2PDownloaded/total*100)}%, saved traffic: ${totalP2PDownloaded}KB, uploaded: ${totalP2PUploaded}KB`;
},
// trackerZone: 'hk', // if using Hongkong tracker
// trackerZone: 'us', // if using USA tracker
// token: YOUR_TOKEN
};
var options = {
autoplay: true,
sources:[
{
src: 'https://test-streams.mux.dev/x36xhzz/url_2/193039199_mp4_h264_aac_ld_7.m3u8',
},
],
html5: {
hlsjsConfig: {
// Put your hls.js config here
// debug: true,
}
}
};
const initP2pEngine = (videojsPlayer, hlsjsInstance) => {
if (P2PEngineHls.isSupported()) {
new P2PEngineHls({
hlsjsInstance,
...p2pConfig
});
}
}
if (videojs.Html5Hlsjs) {
videojs.Html5Hlsjs.addHook('beforeinitialize', initP2pEngine);
// videojs.Html5Hlsjs.removeHook('beforeinitialize', initP2pEngine); // remove the hook function when leave page
} else {
// use ServiceWorker based p2p engine if hls.js is not supported, need additional file sw.js
new P2PEngineHls.ServiceWorkerEngine(p2pConfig);
}
P2PEngineHls.tryRegisterServiceWorker(p2pConfig).then(() => {
var player = videojs('video', options);
player.hlsQualitySelector();
})
</script>
</body>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/swarmcloud/hls-p2p-engine.git
git@gitee.com:swarmcloud/hls-p2p-engine.git
swarmcloud
hls-p2p-engine
hls-p2p-engine
main

搜索帮助