跳转到主要内容

WebRTC和ORTC的实现

项目描述

aiortc License Version Python versions Tests Coverage Documentation

什么是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

许可证

aiortcBSD 许可证 下发布。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

aiortc-1.9.0.tar.gz (1.2 MB 查看散列值

上传于

构建的发行版

aiortc-1.9.0-pp310-pypy310_pp73-win_amd64.whl (1.0 MB 查看哈希值)

上传于 PyPy Windows x86-64

aiortc-1.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

aiortc-1.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

aiortc-1.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.9 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

aiortc-1.9.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (888.8 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

aiortc-1.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (1.2 MB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

aiortc-1.9.0-pp39-pypy39_pp73-win_amd64.whl (1.0 MB 查看哈希值)

上传于 PyPy Windows x86-64

aiortc-1.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

aiortc-1.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

aiortc-1.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.9 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

aiortc-1.9.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (888.8 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

aiortc-1.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (1.2 MB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

aiortc-1.9.0-pp38-pypy38_pp73-win_amd64.whl (1.0 MB 查看哈希值)

上传于 PyPy Windows x86-64

aiortc-1.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

aiortc-1.9.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

aiortc-1.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.9 MB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

aiortc-1.9.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl (888.8 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

aiortc-1.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (1.2 MB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

aiortc-1.9.0-cp38-abi3-win_amd64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.8+ Windows x86-64

aiortc-1.9.0-cp38-abi3-win32.whl (923.1 kB 查看哈希值)

上传于 CPython 3.8+ Windows x86

aiortc-1.9.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB 查看哈希值)

上传时间: CPython 3.8+ manylinux: glibc 2.17+ x86-64

aiortc-1.9.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB 查看哈希值)

上传时间: CPython 3.8+ manylinux: glibc 2.17+ ARM64

aiortc-1.9.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.9 MB 查看哈希值)

上传时间: CPython 3.8+ manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

aiortc-1.9.0-cp38-abi3-macosx_11_0_arm64.whl (896.0 kB 查看哈希值)

上传时间: CPython 3.8+ macOS 11.0+ ARM64

aiortc-1.9.0-cp38-abi3-macosx_10_9_x86_64.whl (1.2 MB 查看哈希值)

上传时间: CPython 3.8+ macOS 10.9+ x86-64

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面