aiortc
? aiortc
est une bibliothèque pour la communication Web en temps réel (WebRTC) et la communication objet en temps réel (ORTC) en Python. Il est construit sur asyncio
, le framework d'E/S asynchrones standard de Python.
L'API suit de près son homologue Javascript tout en utilisant des constructions pythoniques :
les promesses sont remplacées par des coroutines
les événements sont émis à l'aide de pyee.EventEmitter
Pour en savoir plus sur aiortc
veuillez lire la documentation.
aiortc
?Les principales implémentations WebRTC et ORTC sont soit intégrées aux navigateurs Web, soit se présentent sous la forme de code natif. Bien qu'ils soient largement testés au combat, leurs composants internes sont complexes et ils ne fournissent pas de liaisons Python. De plus, ils sont étroitement couplés à une pile multimédia, ce qui rend difficile le branchement d’algorithmes de traitement audio ou vidéo.
En revanche, l’implémentation aiortc
est assez simple et lisible. En tant que tel, c'est un bon point de départ pour les programmeurs souhaitant comprendre le fonctionnement de WebRTC ou bricoler ses composants internes. Il est également facile de créer des produits innovants en tirant parti des nombreux modules disponibles dans l'écosystème Python. Par exemple, vous pouvez créer un serveur complet gérant à la fois les canaux de signalisation et de données ou appliquer des algorithmes de vision par ordinateur aux images vidéo à l'aide d'OpenCV.
De plus, beaucoup d'efforts ont été consacrés à l'écriture d'une suite de tests complète pour le code aiortc
afin de garantir la meilleure qualité de code de sa catégorie.
aiortc
vous permet d'échanger des canaux audio, vidéo et de données et l'interopérabilité est régulièrement testée avec Chrome et Firefox. Voici quelques-unes de ses fonctionnalités :
Génération/analyse SDP
Établissement de connectivité interactive, avec prise en charge half-trickle et mDNS
Génération de clé et de certificat DTLS
Prise de contact DTLS, chiffrement/déchiffrement (pour SCTP)
Chiffrement, chiffrement et déchiffrement SRTP pour RTP et RTCP
Implémentation SCTP Python pur
Canaux de données
Envoi et réception audio (Opus / PCMU / PCMA)
Envoi et réception de vidéo (VP8 / H.264)
Regroupement de canaux audio/vidéo/données
Rapports RTCP, y compris NACK/PLI pour récupérer après une perte de paquets
Le moyen le plus simple d'installer aiortc
est d'exécuter :
pip installer aiortc
S'il n'y a pas de roues pour votre système ou si vous souhaitez construire aortc à partir des sources, vous aurez besoin de quelques bibliothèques installées sur votre système :
Opus pour l'encodage/décodage audio
LibVPX pour l'encodage/décodage vidéo
Sous Debian/Ubuntu :
apt installer libopus-dev libvpx-dev
Sous OS X, exécutez :
Brew installer opus libvpx
aiortc
est publié sous la licence BSD.