aiortc
? aiortc
是 Python 中用於 Web 即時通訊 (WebRTC) 和物件即時通訊 (ORTC) 的函式庫。它建構在asyncio
之上,Python 的標準非同步 I/O 框架。
此 API 在使用 python 結構時緊密遵循其 Javascript 對應部分:
承諾被協程取代
使用pyee.EventEmitter
發出事件
要了解有關aiortc
更多信息,請閱讀文件。
aiortc
?主要的 WebRTC 和 ORTC 實作要么內建於 Web 瀏覽器中,要么以本機程式碼的形式出現。雖然它們經過了廣泛的實戰測試,但它們的內部結構很複雜,並且不提供 Python 綁定。此外,它們與媒體堆疊緊密耦合,因此很難插入音訊或視訊處理演算法。
相比之下, aiortc
實作相當簡單且可讀。因此,對於希望了解 WebRTC 工作原理或修補其內部結構的程式設計師來說,這是一個很好的起點。利用 Python 生態系統中提供的廣泛模組也可以輕鬆創建創新產品。例如,您可以建立一個處理訊號和資料通道的完整伺服器,或使用 OpenCV 將電腦視覺演算法應用於視訊幀。
此外,我們還投入了大量精力為aiortc
程式碼編寫廣泛的測試套件,以確保一流的程式碼品質。
aiortc
可讓您交換音訊、視訊和資料通道,並且定期針對 Chrome 和 Firefox 測試互通性。以下是它的一些功能:
SDP產生/解析
互動式連接建立,支援半滴流和 mDNS
DTLS 金鑰和憑證生成
DTLS 握手、加密/解密(用於 SCTP)
RTP 和 RTCP 的 SRTP 金鑰、加密和解密
純Python SCTP實現
數據通道
發送和接收音訊(Opus / PCMU / PCMA)
發送和接收視訊(VP8/H.264)
捆綁音訊/視訊/數據通道
RTCP 報告,包括 NACK / PLI 以從資料包遺失中恢復
安裝aiortc
最簡單的方法是執行:
pip 安裝 aiortc
如果您的系統沒有輪子或您希望從原始程式碼建立 aiortc,您將需要在系統上安裝幾個庫:
Opus 用於音訊編碼/解碼
用於視訊編碼/解碼的 LibVPX
在 Debian/Ubuntu 上運行:
apt 安裝 libopus-dev libvpx-dev
在 OS X 上執行:
釀造安裝opus libvpx
aiortc
是在 BSD 許可證下發布的。