Show HN: 30ms latency screen sharing in Rust
BitWHIP is a Rust-based CLI WebRTC Agent for low-latency desktop sharing and video streaming. It supports open protocols and works well with OBS, FFmpeg, and GStreamer. Find more on GitHub.
Read original articleBitWHIP is a CLI WebRTC Agent developed in Rust, enabling users to share their desktop with minimal latency, stream content to native players, and retrieve WebRTC video from diverse origins. This project emphasizes open protocols and seamlessly integrates with popular tools such as OBS, FFmpeg, and GStreamer. For additional information, the BitWHIP GitHub Repository can be accessed at the provided link.
Related
Running a Whoogle Instance on the Raspberry Pi Zero 2 W
The author shares their experience running Whoogle on a Raspberry Pi Zero 2 W, highlighting its versatility for projects. Whoogle offers ad-free Google search results, proving a rewarding and functional choice.
Ladybird Announcement [video]
Chris Wroth, GitHub co-founder, and Andreas Cling collaborate on Ladybird Browser Initiative, creating an indie games publisher and game platform with an open-source browser engine. Wroth invests $1 million, seeking community support for the distinctive browsing experience.
We increased our rendering speeds by 70x using the WebCodecs API
Revideo, a TypeScript framework, boosted rendering speeds by 70 times with WebCodecs API. Challenges overcome by browser-based video encoding. Limited audio processing and browser compatibility remain.
Sharedrop: Easy P2P file transfer powered by WebRTC – inspired by Apple AirDrop
ShareDrop is a GitHub web app like Apple AirDrop, facilitating secure file transfers via WebRTC and Firebase. It allows local and cross-network transfers, supports various browsers, and offers donation options. Setup and deployment guidance are provided.
Wlhc: Wayland Hot Corners
The author created wlhc, a program for Wayland desktops, enabling customizable "hot corners" triggering actions. Challenges with the Hare ecosystem required patches for compatibility. Contact details for support and sponsorship available.
* I want to show people that native WebRTC players can be a thing. I hope this encourages hangouts/discord/$x to implement WHIP and WHEP it would let people do so much more
* I wanted to make low latency sharing easier. I saw the need for this working on adding WebRTC to OBS and Broadcast Box[0]
* I wanted to show devs what a great ecosystem exists for WebRTC. Lots of great implementations in different languages.
* Was a bit of a ‘frustration project’. I saw a company claiming only their proprietary protocol can do latency this low. So I thought ‘screw you I will make an open source version!’
What I eventually settled on was https://github.com/Edward-Wu/srt-live-server with OBS and VLC player, which gives robust streaming at high bitrate 4k60, but latency is only 1-2 seconds
cargo:rustc-cfg=feature="ffmpeg_7_0"
cargo:ffmpeg_7_0=true
--- stderr
cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
thread 'main' panicked at C:\Users\jeffr\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bindgen-0.69.4\lib.rs:622:31:
Unable to find libclang: "couldn't find any valid shared libraries matching: ['clang.dll', 'libclang.dll'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
I understand people have their tooling preferences, but this looks like something that build.rs or a plain makefile could have handled?
WebRTC is a great technology, but it still suffers from a scaling problem that is harder to resolve. On top of that, the protocol itself does not define things like adaptive bitrate switching or stalling recovery
Curious to hear what you think of some (proprietary) options for low latency playback like LLHLS LLDASH, WebRTC or HESP
It's left as an exercise to the reader which methods of lying are being used in this case.
Related
Running a Whoogle Instance on the Raspberry Pi Zero 2 W
The author shares their experience running Whoogle on a Raspberry Pi Zero 2 W, highlighting its versatility for projects. Whoogle offers ad-free Google search results, proving a rewarding and functional choice.
Ladybird Announcement [video]
Chris Wroth, GitHub co-founder, and Andreas Cling collaborate on Ladybird Browser Initiative, creating an indie games publisher and game platform with an open-source browser engine. Wroth invests $1 million, seeking community support for the distinctive browsing experience.
We increased our rendering speeds by 70x using the WebCodecs API
Revideo, a TypeScript framework, boosted rendering speeds by 70 times with WebCodecs API. Challenges overcome by browser-based video encoding. Limited audio processing and browser compatibility remain.
Sharedrop: Easy P2P file transfer powered by WebRTC – inspired by Apple AirDrop
ShareDrop is a GitHub web app like Apple AirDrop, facilitating secure file transfers via WebRTC and Firebase. It allows local and cross-network transfers, supports various browsers, and offers donation options. Setup and deployment guidance are provided.
Wlhc: Wayland Hot Corners
The author created wlhc, a program for Wayland desktops, enabling customizable "hot corners" triggering actions. Challenges with the Hare ecosystem required patches for compatibility. Contact details for support and sponsorship available.