khusika / FeelIt

A clean, elegant but advanced blog theme for Hugo
https://feelit.khusika.dev
MIT License
164 stars 60 forks source link

[FEATURE] WebRTC P2P Video delivery #31

Closed ghost closed 3 years ago

ghost commented 3 years ago

Why:

Method 1: Using a HLS.js player such as Clappr with P2P Media Loader or CNDBye. Demo example Simple implementation tutorial

Method 2: Using IPFS-JS implementation of IPFS protocol. Demo example

Method 3: Using WebTorrentPlayer which is built on WebTorrent which a lot of projects use. How WebTorrent works. Demo example

khusika commented 3 years ago

Why:

  • To keep bandwidth cost extremely low
  • Allow many people to watch hosted video content at the same time with fast loading speeds (even if the site is hosted on a home server)
  • Negate the need for a CDN (even when hosting lots of large videos)
  • More users means even better performance (not the other way around)
  • No reliance on third party video delivery services
  • Works natively on all modern browsers
  • Supports VOD and LIVE video (depending on implementation)

Why do we need P2P video delivery in static website especially in Hugo? FeelIt already has Youtube & Vimeo for embedding video. Even you can attach live video stream with both of those apps.

ghost commented 3 years ago

Why do we need P2P video delivery in static website especially in Hugo? FeelIt already has Youtube & Vimeo for embedding video. Even you can attach live video stream with both of those apps.

I know I'm asking a lot, but I hope you can see the benefit of having the option to be completely self-reliant.

khusika commented 3 years ago

WebRTC on Hugo is an out of the box idea because Hugo it self doesn't have a WebRTC API (no documentation found).

Based on your request, all the mentioned resources are still using 3rd party libraries because static websites cannot process a dynamic data. And yes, the cycle will be the same as the 3rd party video players we have (Bilibili, Youtube & Vimeo) even simpler

This is a Static Blog Theme not a video streamer app.