str0m is a WebRTC implementation using a Sans I/O architecture.
The library does not open sockets, start threads or require a particular asynchronous runtime. Instead, the application supplies incoming network data and sends the packets produced by str0m. This gives developers control over networking, scheduling and integration with the rest of their application.
str0m includes both SDP-based WebRTC negotiation and lower-level APIs for applications that need more direct control over media sessions.
This is free and open source software.
Key Features
- Sans I/O architecture.
- No internal networking threads or async runtime.
- ICE connectivity establishment.
- DTLS and SRTP.
- RTP and RTCP handling.
- SCTP DataChannels.
- SDP-based WebRTC negotiation.
- Direct API for SDP-free control.
- Bandwidth estimation.
- Packet-loss recovery and NACK support.
- VP8, VP9, H.264 and AV1 video handling.
- Opus and G.722 audio support.
- Application-controlled timing and network I/O.
Website: github.com/algesten/str0m
Support:
Developer: Martin Algesten
License: MIT License
str0m is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| WebRTC Tools | |
|---|---|
| mediasoup | Server-side WebRTC library, specifically a Selective Forwarding Unit (SFU |
| Pion | Modern stack for web real-time communication |
| Neko | Self-hosted virtual browser for collaborative browsing and remote access |
| MediaMTX | Live media server and proxy supporting multiple streaming protocols |
| Jitsi | Innovative voice and video conferencing |
| LiveKit | End-to-end stack for WebRTC |
| SRS | Real-time media server |
| OpenVidu | Platform to develop WebRTC real-time applications |
| Janus | Gneral purpose WebRTC server |
| BigBlueButton | Virtual classroom platform |
| aiortc | Library for WebRTC and ORTC |
| MiroTalk SFU | Self-hosted WebRTC videoconferencing platform |
| MiroTalk P2P | Self-hosted WebRTC video conferencing application |
| coturn | Implementation of TURN and STUN Server |
| Galene | Easy to deploy videoconference server |
| Nextcloud Talk | Chat, video and audio calls for Nextcloud |
| Broadcast Box | Low-latency WebRTC broadcasting and screen sharing |
| Selkies | Remote desktop and application streaming platform |
| libpeer | Portable WebRTC library for IoT/embedded devices |
| libdatachannel | WebRTC network library |
| Kurento | WebRTC media server |
| str0m | Sans I/O WebRTC implementation |
| Elixir WebRTC | Elixir implementation of the W3C WebRTC API |
| Gryt | Self-hostable, WebRTC-based voice communication app |
| PairUX | Collaborative screen sharing with simultaneous remote control |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.