48 Star 178 Fork 43

cdnbye / hlsjs-p2p-engine

Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

English | 简体中文

cdnbye logo

Boost Your Stream using WebRTC.

npm jsdelivr size

CDNBye hlsjs-p2p-engine implements WebRTC datachannel to scale live/vod video streaming by peer-to-peer network using bittorrent-like protocol. The forming peer network can be layed over other CDNs or on top of the origin server. Powered by hls.js, it can play HLS on any platform with many popular HTML5 players such as video.js, JWPlayer and Flowplayer.

Features

  • WebRTC data channels for lightweight peer-to-peer communication with no plugins
  • Support live and VOD streams over HLS protocol(m3u8)
  • Support encrypted HLS stream
  • Very easy to integrate with an existing hls.js project
  • Seamlessly fallback to normal server usage if a browser doesn't support WebRTC
  • Highly configurable for users
  • Support most popular HTML5 players such as video.js、Clappr、Flowplayer
  • Efficient scheduling policies to enhance the performance of P2P streaming
  • Use IP database to group up peers by ISP and regions
  • API frozen, new releases will not break your code

Playground

Click me!

Getting Started

Quick Start Demo

Put the quick-start.html in your web page, run it. Wait for a few seconds,then open the same page from another browser. Now you have a direct P2P connection between two browsers without plugin! The first web peer will serve as a seed, if no one else in the same channel.

Integrate to Your Hls.js Project

Simply replace the hls.js script tag like:

<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>

with

<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>

That's it!

Integrate to HTML5 Players

See demos.

Browser Support

WebRTC has already been incorporated into the HTML5 standard and it is broadly deployed in modern browsers. The compatibility of CDNBye depends on the browser support of WebRTC and Hls.js. Please note that iOS Safari "Mobile" does not support the MediaSource API.

Compatibility Chrome Firefox macOS Safari Android Wechat/QQ Opera Edge IE iOS Safari
WebRTC Datachannel
Hls.js
CDNBye

Include

Include the pre-built script of latest version bundled with hls.js(recommended):

<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>

Or include the latest version without hls.js:

<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest/dist/hlsjs-p2p-engine.min.js"></script>

Usage

See Usage

Player Integration

Support almost all web players, click here for more information.

  • Add your customized player here
    • CDNBye can be integrated into any HTML5 video player that with hls.js built in.

API and Configuration

See API.md

Console

Bind your domain in https://oms.cdnbye.com, where you can view p2p-related information.

Related Projects

They are using CDNBye

FAQ

We have collected some frequently asked questions. Before reporting an issue, please search if the FAQ has the answer to your problem.

Contact Us

Email: service@cdnbye.com
Skype: live:86755838
Telegram: @cdnbye

Join the Discussion

Telegram Group

Comments ( 9 )

Sign in for post a comment

About

视频加速插件,通过WebRTC datachannel技术,在不影响用户体验的前提下,最大化p2p率,从而为CP节省流量成本。QQ群:746163014 spread retract
Cancel

Releases

No release

Gitee Metrics

Contributors

All

Activities

load more
can not load any more
JavaScript
1
https://git.oschina.net/cdnbye/hlsjs-p2p-engine.git
git@git.oschina.net:cdnbye/hlsjs-p2p-engine.git
cdnbye
hlsjs-p2p-engine
hlsjs-p2p-engine
master

Search