# hls-sw-p2p-engine
**Repository Path**: swarmcloud/hls-sw-p2p-engine
## Basic Information
- **Project Name**: hls-sw-p2p-engine
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-11-15
- **Last Updated**: 2021-12-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
**[English](README.md) | 简体中文**

Let your viewers become your unlimitedly scalable CDN.
iOS的Safari浏览器虽然可以支持原生播放HLS,但整个过程对开发者是透明的。Safari从2017年起就支持 WebRTC,但到目前为止还不支持 MEDIA SOURCE EXTENSIONS,而这个API对实现客户端P2P至关重要。
幸运的是,我们可以通过另一种方式来实现对HTTP流量的本地代理,从而间接实现P2P功能,这个用于实现本地代理的技术就是"ServiceWorkers",本项目基于ServiceWorkers和WebRTC在Safari浏览器实现了HLS的P2P能力。
## 浏览器支持情况
由于WebRTC已成为HTML5标准,目前大部分主流浏览器都已经支持。CDNBye的浏览器兼容性取决于WebRTC和hls.js。需要注意的是iOS版Safari由于不支持MediaSource API,因此也不支持hls.js(不过Safari原生支持HLS播放)。
兼容性|Chrome | Firefox | macOS Safari| Opera | Edge | iOS Safari | IE |
:-: | :-: | :-: | :-: | :-: | :-:| :-:| :-:
WebRTC Datachannel | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ |
Service Worker | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ |
SwarmCloud | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ❌ |
## 使用方法
参考[在线文档](https://swarmcloud.net/cn/views/hls-sw/usage.html)
## 相关项目
- [hlsjs-p2p-engine](https://gitee.com/cdnbye/hlsjs-p2p-engine) - HLS协议的Web端P2P流媒体方案。
- [dashjs-p2p-engine](https://github.com/cdnbye/dashjs-p2p-engine) - MPEG-dash协议的Web端P2P流媒体方案。
## FAQ
我们收集了一些[常见问题](https://www.cdnbye.com/cn/views/FAQ.html)。在报告issue之前请先查看一下。
## 联系我们
邮箱:service@cdnbye.com