Skip to content

BrowserBox/bitwhip

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BitWHIP

License Discord

What is BitWHIP

BitWHIP is a CLI WebRTC Agent written in Rust. These are some of the things you can do with it today.

BitWHIP is built on open protocols so should work pretty much anywhere. It should also interop with your favorite tools and libraries like OBS, FFmpeg or GStreamer.

Building

BitWHIP uses just to make installing dependencies and building easier. To build this project first you install just and then execute install-deps.

Install Just

cargo install just

Install dependencies

just install-deps

Using

Now that you have built you have three different paths.

Play WHIP

Play WHIP starts a local WHIP server that clients can push too. You can use this to push video from BitWHIP or other WHIP clients like OBS or GStreamer.

just run play whip

The WHIP client would use a URL of http://localhost:1337/ and any Bearer Token you like. You can stream to it via BitWHIP by running just run stream http://localhost:1337/ bitwhip.

Play WHEP

Play WHEP connects to a WHEP server and plays video. Below is an example of pulling from https://b.siobud.com/ with a Bearer Token of bitwhip

just run play-whep https://b.siobud.com/api/whep bitwhip

After running this open https://b.siobud.com/publish/bitwhip and your video should open in a native player.

Stream

Currently only Windows with NVIDIA cards are supported, more to be added

Stream captures your local desktop and publish via WHIP. To run this you need a URL and a Bearer Token. Below is an example of pushing to https://b.siobud.com/ with a Bearer Token of bitwhip

just run stream https://b.siobud.com/api/whip bitwhip

TODO

  • Create binaries
  • Improve Build System
  • Support more Capture
    • gdigrab (Windows)
    • x11grab (Linux)
  • Support more Encoding
    • QuickSync
    • x264

More

Selkies-GStreamer is a WebRTC remote desktop streaming implementation that has achieved 0-16ms of latency.

Join the Discord and we are ready to help!

About

CLI Native WebRTC Agent in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 87.8%
  • Just 12.2%