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 |
| 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 |
| 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 comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

