https://github.com/bitwhip/bitwhip Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Innersource + Open Source + Security + Software Development Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} bitwhip / bitwhip Public * Notifications You must be signed in to change notification settings * Fork 5 * Star 439 CLI Native WebRTC Agent in Rust License MIT license 439 stars 5 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 0 * Pull requests 0 * Actions * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Security * Insights bitwhip/bitwhip This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit message Last commit date Latest commit History 24 Commits .cargo .cargo _scripts _scripts src src .gitignore .gitignore Cargo.lock Cargo.lock Cargo.toml Cargo.toml Justfile Justfile LICENSE LICENSE README.md README.md build.rs build.rs View all files Repository files navigation * README * MIT license BitWHIP License Discord * What is BitWHIP * Building * Using * TODO * More What is BitWHIP BitWHIP is a CLI WebRTC Agent written in Rust. These are some of the things you can do with it today. * Publish your desktop with 30ms of latency * Play the stream in a native player * Pull WebRTC video from other sources and play + Broadcast Box + IVS + Cloudflare + Dolby.io + Red5 + Nimble Streamer + any services that support WHIP/WHEP! 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 Topics rust webrtc desktop-streaming lowlatency Resources Readme License MIT license Activity Custom properties Stars 439 stars Watchers 3 watching Forks 5 forks Report repository Releases No releases published Packages 0 Contributors 2 * @Sean-Der Sean-Der Sean DuBois * @kevmo314 kevmo314 Kevin Wang Languages * Rust 87.8% * Just 12.2% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.