aiortc
? aiortc
ist eine Bibliothek für Web Real-Time Communication (WebRTC) und Object Real-Time Communication (ORTC) in Python. Es basiert auf asyncio
, dem Standard-Asynchron-I/O-Framework von Python.
Die API folgt eng ihrem Javascript-Gegenstück und verwendet Python-Konstrukte:
Versprechen werden durch Coroutinen ersetzt
Ereignisse werden mit pyee.EventEmitter
ausgegeben
Um mehr über aiortc
zu erfahren, lesen Sie bitte die Dokumentation.
aiortc
verwenden?Die wichtigsten WebRTC- und ORTC-Implementierungen sind entweder in Webbrowser integriert oder liegen in Form von nativem Code vor. Obwohl sie umfassend kampferprobt sind, sind ihre Interna komplex und sie bieten keine Python-Anbindungen. Darüber hinaus sind sie eng an einen Medienstapel gekoppelt, was die Integration von Audio- oder Videoverarbeitungsalgorithmen erschwert.
Im Gegensatz dazu ist die aiortc
Implementierung recht einfach und lesbar. Daher ist es ein guter Ausgangspunkt für Programmierer, die verstehen möchten, wie WebRTC funktioniert, oder an seinen Interna herumbasteln möchten. Es ist auch einfach, innovative Produkte zu erstellen, indem man die umfangreichen Module nutzt, die im Python-Ökosystem verfügbar sind. Sie können beispielsweise einen vollständigen Server erstellen, der sowohl Signal- als auch Datenkanäle verwaltet, oder mithilfe von OpenCV Computer-Vision-Algorithmen auf Videobilder anwenden.
Darüber hinaus wurde viel Aufwand in das Schreiben einer umfangreichen Testsuite für den aiortc
-Code gesteckt, um eine erstklassige Codequalität sicherzustellen.
aiortc
können Sie Audio-, Video- und Datenkanäle austauschen. Die Interoperabilität wird regelmäßig mit Chrome und Firefox getestet. Hier sind einige seiner Funktionen:
SDP-Generierung/-Analyse
Einrichtung interaktiver Konnektivität mit Half-Trickle- und mDNS-Unterstützung
DTLS-Schlüssel- und Zertifikatsgenerierung
DTLS-Handshake, Verschlüsselung/Entschlüsselung (für SCTP)
SRTP-Verschlüsselung, Verschlüsselung und Entschlüsselung für RTP und RTCP
Reine Python-SCTP-Implementierung
Datenkanäle
Senden und Empfangen von Audio (Opus / PCMU / PCMA)
Senden und Empfangen von Videos (VP8 / H.264)
Bündelung von Audio-/Video-/Datenkanälen
RTCP-Berichte, einschließlich NACK/PLI zur Wiederherstellung nach Paketverlust
Der einfachste Weg, aiortc
zu installieren, besteht darin, Folgendes auszuführen:
pip install aiortc
Wenn für Ihr System keine Räder vorhanden sind oder Sie aiortc aus dem Quellcode erstellen möchten, müssen einige Bibliotheken auf Ihrem System installiert sein:
Opus für Audiokodierung/-dekodierung
LibVPX für Videokodierung/-dekodierung
Auf Debian/Ubuntu ausgeführt:
apt install libopus-dev libvpx-dev
Führen Sie unter OS X Folgendes aus:
brew installiere opus libvpx
aiortc
wird unter der BSD-Lizenz veröffentlicht.