Skip to content

Briix/hypercast

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hypercast

hypercast is a tool for broadcasting live peer-to-peer video streams to hyper:// enabled web browsers such as Beaker Browser.

When users connect to your stream, they begin re-distributing your broadcast data amongst each other. This bypasses the need for a central broadcasting server, and the large amounts of bandwidth required to stream the same data to every user.

hypercast is a fork of mafintosh's hypervision app. It utilizes modules like hyperdrive and hyperdiscovery from the hyper:// ecosystem.

You can read an old introductory post to hypervision at the following URL: https://louis.center/p2p-hypervision. It's also available in Japanese/日本語 🇯🇵 and Korean/한국어 🇰🇷.

hypercast screenshot

Todo

  • Video/audio input selection (currently chooses system defaults)
  • Audio-only broadcasting
  • RTMP ingestion (to allow streaming from OBS)
  • Easier viewing page customization
  • Better archiving (for re-watching a broadcast afterwards)
  • Chat tools

Privacy

Hypercore Protocol (which powers hypercast) does not have a built-in anonymity layer. Much like BitTorrent, unless you connect to a peer-to-peer network via a VPN or Tor proxy, other users in the network will be able to see your IP address.

Installation

git clone git://github.com/Briix/hypercast.git
cd hypercast

npm install
npm start

Broadcasting

After installating and starting the application, press the green [Start Broadcast] button in the top right hand corner of the window.

When the broadcast begins, a copyable hyper:// URL should appear in the bottom right hand corner of the window. You can share this link with anyone who wants to tune into your broadcast. They will need to open this URL inside of a peer-to-peer hyper:// enabled web browser, such as Beaker Browser.

Custom templates

hypercast allows you to specify a custom template in the settings to be used when broadcasting.

The custom template must be a single HTML file containing all the necessary assets (CSS/JS), and must contain an element with the id of video. This element is where your stream will be injected.

For an example of what a custom template can look like, check out hypercast-custom-template or the default hypercast template

License

MIT

About

p2p broadcasting for hyper:// enabled web browsers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 77.1%
  • HTML 11.7%
  • CSS 11.2%