aiortc is a library for Web Real-Time Communication (WebRTC) and Object Real-Time Communication (ORTC) in Python. It is built on top of asyncio, Python’s standard asynchronous I/O framework.
The aiortc implementation is fairly simple and readable. As such it is a good starting point for programmers wishing to understand how WebRTC works or tinker with its internals. It is also easy to create innovative products by leveraging the extensive modules available in the Python ecosystem. For instance you can build a full server handling both signaling and data channels or apply computer vision algorithms to video frames using OpenCV.
This is free and open source software.
Key Features
- SDP generation / parsing.
- Interactive Connectivity Establishment, with half-trickle and mDNS support.
- DTLS key and certificate generation.
- DTLS handshake, encryption / decryption (for SCTP).
- SRTP keying, encryption and decryption for RTP and RTCP.
- Pure Python SCTP implementation.
- Data Channels.
- Sending and receiving audio (Opus / PCMU / PCMA).
- Sending and receiving video (VP8 / H.264).
- Bundling audio / video / data channels.
- RTCP reports, including NACK / PLI to recover from packet loss.
Website: github.com/aiortc/aiortc
Support:
Developer: Jeremy Lainé
License: BSD 3-Clause “New” or “Revised” License
aiortc is written in Python. Learn Python 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.