WebRTC和ORTC的实现
项目描述
什么是aiortc?
aiortc是一个用于Python中Web实时通信(WebRTC)和对象实时通信(ORTC)的库。它构建在Python标准异步I/O框架asyncio之上。
API与JavaScript版本紧密遵循,同时使用Pythonic结构
承诺被协程替换
事件使用pyee.EventEmitter发射
要了解更多关于aiortc的信息,请阅读文档。
为什么我应该使用aiortc?
主要的WebRTC和ORTC实现要么内置于网络浏览器中,要么以本地代码的形式提供。虽然它们经过了广泛的实战测试,但其内部结构复杂,并且不提供Python绑定。此外,它们与媒体堆栈紧密耦合,这使得很难插入音频或视频处理算法。
相比之下,aiortc 的实现相当简单且易于阅读。因此,它对于希望了解 WebRTC 的工作原理或对其内部进行修改的程序员来说是一个很好的起点。通过利用 Python 生态系统中的丰富模块,也容易创建创新的产品。例如,您可以构建一个完整的服务器,处理信令和数据通道,或者使用 OpenCV 将计算机视觉算法应用于视频帧。
此外,为 aiortc 代码编写了大量的测试套件,以确保最佳代码质量。
实现状态
aiortc 允许您交换音频、视频和数据通道,并且与 Chrome 和 Firefox 的互操作性会定期进行测试。以下是它的一些功能:
SDP 生成/解析
交互式连接建立,支持半慢速和 mDNS
DTLS 密钥和证书生成
DTLS 握手、加密/解密(用于 SCTP)
SRTP 密钥生成、加密和解密 RTP 和 RTCP
纯 Python SCTP 实现
数据通道
发送和接收音频(Opus / PCMU / PCMA)
发送和接收视频(VP8 / H.264)
捆绑音频/视频/数据通道
RTCP 报告,包括 NACK / PLI 以从数据包丢失中恢复
安装
安装 aiortc 的最简单方法是运行
pip install aiortc
从源码构建
如果没有为您的系统提供 wheels,或者您希望从源码构建 aiortc,您需要在您的系统上安装一些库
Opus 用于音频编码/解码
LibVPX 用于视频编码/解码
Linux
在 Debian/Ubuntu 上运行
apt install libopus-dev libvpx-dev
OS X
在 OS X 上运行
brew install opus libvpx
许可证
aiortc 在 BSD 许可证 下发布。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分布
构建的发行版
aiortc-1.9.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 03faa76d76ef0e5989ac10386898b029369756102217230e2fcd4b029c50b303 |
|
MD5 | 77d30f300ff3e6ccb832f7f0d680e4e3 |
|
BLAKE2b-256 | 7132e9b01e2271124643e5dc15c273f2bb8155efebf5bc2115407441ac62f4c5 |
aiortc-1.9.0-pp310-pypy310_pp73-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e31575eb050aa68e0ea4c519aef101770b2297954f49e64a5c3d73ef27702ea |
|
MD5 | ef350bd377a3b945eff3665a1ab4931d |
|
BLAKE2b-256 | fb468cb087a11f2f2d1139bd7e21615cc082097bffc4990d43c9f45f9cf6c8bf |
aiortc-1.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cbb62950e396c311e398925149fa76bc90b8d6525b4eccf28cba704e7ded8bf5 |
|
MD5 | 63dba6491143a8156eea4a5b54afb3fc |
|
BLAKE2b-256 | e70a6495c696cd7f806bafe511fb27203ce918947c4461398384a4e6bd4b7e57 |
aiortc-1.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1924e130a441507b1315956aff05c504a274f1a09802def225d0f3a3d1870320 |
|
MD5 | d148df96fceb987e3f7df38d5c597d00 |
|
BLAKE2b-256 | dad594bf7ed6189c316ffef930787cba009387f9bcd2f1c482392b71cca3918d |
aiortc-1.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5234177e8d3126a0190ed9b6f8d0288daedcc0158c45cc279b4e6ac7d97f43f8 |
|
MD5 | 2df474b1431b0861a862fae360d8d33c |
|
BLAKE2b-256 | 8236ffd0f74c73fa6abca0b76bd38473ed7d82dfbada7e57c6efe2a37ee40483 |
哈希值 为 aiortc-1.9.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 40e61c1b84914d6f4c2968ff49353a22eed9419de74b151237cdb71af431209c |
|
MD5 | 92ea4351076a68d0fa31b535625e3a08 |
|
BLAKE2b-256 | 68482fe7de04461fdc4aee8c78c67cfe03579eaa72fb215c4b063acaeb4fd118 |
哈希值 为 aiortc-1.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34c516ae4e70e8f64494305057af09311444325722fe6938ec38dd1e111adca9 |
|
MD5 | 4419f08cffb870bdb678fa3701a9695f |
|
BLAKE2b-256 | 9526c382db590897fe638254f948d8514772d13ff59b5ada0a71d87322f48c52 |
哈希值 为 aiortc-1.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c51f030e175569962df436d61953162da7a7c5e3d691adec660b5eee72dbba56 |
|
MD5 | d388bc0f400d1be40bdf795299b8d024 |
|
BLAKE2b-256 | 866c1d0b14b79117dbc855bce1445aec919f8ff3d7f30063cdfdc504395044de |
哈希值 为 aiortc-1.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7eeabe29472c9e3bb73fb58d5ad3b017269046d43189532e6ec64359c5697b8 |
|
MD5 | 4c0d19bebe8f1bb59a9e0d49d828e85e |
|
BLAKE2b-256 | 871b5a89971655f71a83f60ddcd74a9d083733229a121a9506c53ab013eeeba7 |
哈希值 为 aiortc-1.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 928f136647e609eca0028f7aaf3812fff4e3a4e0fe78abdc19dd0786e65ffac8 |
|
MD5 | 432435b6cf0d75adb21fba1312bc77a6 |
|
BLAKE2b-256 | 5780532757f4f332e396c0dcbc7fc98b34055b07442be83816ca088eae84b6ce |
哈希值 为 aiortc-1.9.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4d0321824d24e3db918d2e494d44f2bc4467c8abd70646bbd57a5a5a49b72583 |
|
MD5 | 39eb41e0241f9d89080e32b464cb07ea |
|
BLAKE2b-256 | d1ccf22ec32865210bdc01ba704fbc5aeff2a61c02fa9ce77da2599d74cbf39e |
哈希值 为 aiortc-1.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bc9692a1b67f4eea8d3f22785b6ac9bc9c3d98478fd2326f99247ebf432b05d1 |
|
MD5 | 11c5cb7fc4c0d7a33e7ecf12a4f5924c |
|
BLAKE2b-256 | 4fb11108b34967a876d92ae61f981e06e6d4aedc8bfd4a680f03dacdfca3de2c |
哈希值 为 aiortc-1.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 84f16cb2a654d4e5018c8aba45e77882c75bf50c6af4eee3048ddb35af7f0c8f |
|
MD5 | be210d24b9ad1acc4e2c506fd94dc8f8 |
|
BLAKE2b-256 | 74473249bd5c123ff0acfe24942d5605ac951b84350f2d5c1752f7ffbf2e7ba6 |
哈希值 为 aiortc-1.9.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a8f73ee2d738208c10bb9be8bd2dc0d7da7621de1bbd5ab709216dfa681f4585 |
|
MD5 | ec95adf715f5b99ff77da87bcddc9569 |
|
BLAKE2b-256 | 2133bf6cd3694b691df645c33f8ebab9cc43a77afca7a0eb4f73c71902b12c7c |
哈希值 为 aiortc-1.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23df191d42b2937214263471a796502fcb8f86980e6b676aedbd188107e2a11d |
|
MD5 | 1f8f1552b1e93b9bd843f4190f05f1fb |
|
BLAKE2b-256 | f8b9dded75039b673ff63d35630a81a13f00f0d8b3393dd5f1a8585f9e537790 |
哈希值 为 aiortc-1.9.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7d8cec50d8dcb1ea089378f885cb780357842ac39b7cb0e9361e5143c0126ecc |
|
MD5 | 1a2206c9270e394adf921658731b6a29 |
|
BLAKE2b-256 | 13b9ee11cb88f2e152184e65ed152c5e2b4ab6c72d162651615d36eb5e43df91 |
哈希值 用于 aiortc-1.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 33018ce36186142e8a5eccca53189ff30c6d48d3d4d0c3df952fbf80f59f17d7 |
|
MD5 | 6bccd2cdcee3dc24fb90db34dde8a20e |
|
BLAKE2b-256 | 133ae93c51002274adb4010c2f8fb335ab0351a81358031d0ca46fe610f565c0 |
哈希值 用于 aiortc-1.9.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c44b610f36b8d17123855dfbe915fa6874201765b8a2c7fd9cf72d14cf417740 |
|
MD5 | b340d408cccdd2908565193ae6c1bb29 |
|
BLAKE2b-256 | 3203f3233e936f7a81549bd95f33f3d304e2a9211cb35d819d74570c0718b1ac |
哈希值 用于 aiortc-1.9.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 176b4eb38d833667f87cf719a7a3e105e25a35b138b30893294418c1c96e38db |
|
MD5 | 3aa7d2aa131014627f0743d09fad3417 |
|
BLAKE2b-256 | 8c871f666108764fa5b557bed4f0fd5e2acccd739bb2cca2b766dcacb53e5669 |
哈希值 用于 aiortc-1.9.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 55505adb31d56cba19a1ef8ad6aa9b727ccdba2a83bfbfb4aa79ef3c472026a6 |
|
MD5 | 2f6be365c3825c1c6fec43749cae2411 |
|
BLAKE2b-256 | 96996672cf57777801c6ddacc13e1ee07f8c2151d0847a4f81455eeec998eaed |
哈希值 用于 aiortc-1.9.0-cp38-abi3-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e3e67c1970c2cffacac53c8f161df264efc62b22721c64a621940935028ee087 |
|
MD5 | 8a8ca47bf735f2e877c72b2ac35445e6 |
|
BLAKE2b-256 | 9301db89910fc4dfb72ca25fd9a41326762a490d93d39d2fc4aac3f86c05857d |