aiortc
? aiortc
é uma biblioteca para Web Real-Time Communication (WebRTC) e Object Real-Time Communication (ORTC) em Python. Ele é construído sobre asyncio
, a estrutura de E/S assíncrona padrão do Python.
A API segue de perto sua contraparte Javascript ao usar construções python:
promessas são substituídas por corrotinas
eventos são emitidos usando pyee.EventEmitter
Para saber mais sobre aiortc
, leia a documentação.
aiortc
?As principais implementações de WebRTC e ORTC são integradas em navegadores da web ou vêm na forma de código nativo. Embora sejam extensivamente testados em batalha, seus componentes internos são complexos e não fornecem ligações Python. Além disso, eles estão fortemente acoplados a uma pilha de mídia, dificultando a conexão de algoritmos de processamento de áudio ou vídeo.
Por outro lado, a implementação aiortc
é bastante simples e legível. Como tal, é um bom ponto de partida para programadores que desejam entender como o WebRTC funciona ou mexer em seus componentes internos. Também é fácil criar produtos inovadores aproveitando os extensos módulos disponíveis no ecossistema Python. Por exemplo, você pode construir um servidor completo que lida com canais de sinalização e de dados ou aplicar algoritmos de visão computacional a quadros de vídeo usando OpenCV.
Além disso, muito esforço foi feito para escrever um extenso conjunto de testes para o código aiortc
para garantir a melhor qualidade de código da categoria.
aiortc
permite a troca de canais de áudio, vídeo e dados e a interoperabilidade é testada regularmente no Chrome e no Firefox. Aqui estão alguns de seus recursos:
Geração/análise de SDP
Estabelecimento de conectividade interativa, com suporte half-trickle e mDNS
Geração de chave e certificado DTLS
Handshake DTLS, criptografia/descriptografia (para SCTP)
Chaveamento, criptografia e descriptografia SRTP para RTP e RTCP
Implementação SCTP em Python puro
Canais de dados
Envio e recepção de áudio (Opus/PCMU/PCMA)
Envio e recebimento de vídeo (VP8/H.264)
Agrupando canais de áudio/vídeo/dados
Relatórios RTCP, incluindo NACK/PLI para recuperação de perda de pacotes
A maneira mais fácil de instalar aiortc
é executar:
pip instalar aiortc
Se não houver rodas para o seu sistema ou se você deseja construir o aiortc a partir do código-fonte, você precisará de algumas bibliotecas instaladas no seu sistema:
Opus para codificação/decodificação de áudio
LibVPX para codificação/decodificação de vídeo
Na execução do Debian/Ubuntu:
apto instalar libopus-dev libvpx-dev
No OS X, execute:
preparar instalar opus libvpx
aiortc
é lançado sob a licença BSD.