{"id":13493976,"url":"https://github.com/bitwhip/bitwhip","last_synced_at":"2025-05-15T12:05:22.570Z","repository":{"id":247608471,"uuid":"826041735","full_name":"bitwhip/bitwhip","owner":"bitwhip","description":"CLI Native WebRTC Agent in Rust","archived":false,"fork":false,"pushed_at":"2024-11-04T03:24:46.000Z","size":94,"stargazers_count":692,"open_issues_count":2,"forks_count":13,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-14T22:18:34.232Z","etag":null,"topics":["desktop-streaming","lowlatency","rust","webrtc"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitwhip.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T02:17:55.000Z","updated_at":"2025-04-14T00:56:47.000Z","dependencies_parsed_at":"2024-11-14T17:00:26.405Z","dependency_job_id":"6f52d48e-8eba-4997-822b-f82a6413a6a1","html_url":"https://github.com/bitwhip/bitwhip","commit_stats":{"total_commits":28,"total_committers":4,"mean_commits":7.0,"dds":0.2142857142857143,"last_synced_commit":"313fc633fcb513de73dcc540591b612c03fe7222"},"previous_names":["bitwhip/bitwhip"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwhip%2Fbitwhip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwhip%2Fbitwhip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwhip%2Fbitwhip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwhip%2Fbitwhip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitwhip","download_url":"https://codeload.github.com/bitwhip/bitwhip/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337613,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-streaming","lowlatency","rust","webrtc"],"created_at":"2024-07-31T19:01:20.557Z","updated_at":"2025-05-15T12:05:17.552Z","avatar_url":"https://github.com/bitwhip.png","language":"Rust","readme":"# BitWHIP\n\n[![License][license-image]][license-url]\n[![Discord][discord-image]][discord-invite-url]\n\n- [What is BitWHIP](#what-is-bitwhip)\n- [Building](#building)\n- [Using](#using)\n- [TODO](#todo)\n- [More](#more)\n\n## What is BitWHIP\n\nBitWHIP is a CLI WebRTC Agent written in Rust. These are some of the things you can do with it today.\n\n* Publish your desktop with 30ms of latency\n* Play the stream in a native player\n* Pull WebRTC video from other sources and play\n  * [Broadcast Box][broadcast-box-url]\n  * [IVS](https://aws.amazon.com/ivs/)\n  * [Cloudflare](https://developers.cloudflare.com/stream/webrtc-beta/)\n  * [Dolby.io](https://docs.dolby.io/streaming-apis/reference/whip_whippublish)\n  * [Red5](https://www.red5.net/docs/special/user-guide/whip-whep-configuration/)\n  * [Nimble Streamer](https://softvelum.com/nimble/)\n  * any services that support [WHIP](https://datatracker.ietf.org/doc/draft-ietf-wish-whip/)/[WHEP](https://datatracker.ietf.org/doc/draft-murillo-whep/)!\n\nBitWHIP is built on open protocols so should work pretty much anywhere. It should also interop with your\nfavorite tools and libraries like OBS, FFmpeg or GStreamer.\n\n## Building\nBitWHIP uses [just](https://github.com/casey/just) to make installing dependencies and building easier. To build\nthis project first you install `just` and then execute `install-deps`.\n\n### Install Just\n`cargo install just`\n\n### Install dependencies\n`just install-deps`\n\n## Using\nNow that you have built you have three different paths.\n\n### Play WHIP\n\nPlay WHIP starts a local WHIP server that clients can push too. You can use this to push video from BitWHIP\nor other WHIP clients like [OBS](https://obsproject.com/) or [GStreamer](https://gstreamer.freedesktop.org/).\n\n```\njust run play whip\n```\n\nThe WHIP client would use a URL of `http://localhost:1337/` and any Bearer Token you like. You can stream to\nit via BitWHIP by running `just run stream http://localhost:1337/ bitwhip`.\n\n\n### Play WHEP\n\nPlay WHEP connects to a WHEP server and plays video. Below is an example of pulling from https://b.siobud.com/ with\na Bearer Token of `bitwhip`\n\n```\njust run play-whep https://b.siobud.com/api/whep bitwhip\n```\n\nAfter running this open https://b.siobud.com/publish/bitwhip and your video should open in a native player.\n\n### Stream\n\n**Currently only Windows with NVIDIA cards are supported, more to be added**\n\nStream captures your local desktop and publish via WHIP. To run this you need a URL and a Bearer Token.\nBelow is an example of pushing to https://b.siobud.com/ with a Bearer Token of `bitwhip`\n\n```\njust run stream https://b.siobud.com/api/whip bitwhip\n```\n## TODO\n\n* [ ] Create binaries\n* [ ] Improve Build System\n* Support more Capture\n  * [ ] gdigrab (Windows)\n  * [ ] x11grab (Linux)\n* Support more Encoding\n  * [ ] QuickSync\n  * [ ] x264\n\n## More\n\n[Selkies-GStreamer](https://github.com/selkies-project/selkies-gstreamer) is a WebRTC remote desktop streaming implementation that has achieved 0-16ms of latency.\n\n[Join the Discord][discord-invite-url] and we are ready to help!\n\n[license-image]: https://img.shields.io/badge/License-MIT-yellow.svg\n[license-url]: https://opensource.org/licenses/MIT\n[discord-image]: https://img.shields.io/discord/1162823780708651018?logo=discord\n[discord-invite-url]: https://discord.gg/An5jjhNUE3\n[broadcast-box-url]: https://github.com/glimesh/broadcast-box\n","funding_links":[],"categories":["Rust","webrtc"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwhip%2Fbitwhip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitwhip%2Fbitwhip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwhip%2Fbitwhip/lists"}