实现webrtc和ortc的aiortc的数据通道特性版本
aiortc-dc的Python项目详细描述
这个repo是aiortc的特殊版本,它只能安装数据通道特性,并且可以在windows palatrom上运行。
已请求减贫战略所以这是临时仓库。
安装程序
::
pip安装aiortc dc
基于NAT的P2P直接通信文件传输实例(可以在Windows平台上运行!)
请参见:README_WS_SIGNALING_VERSION
_自述文件w-w-u信令版本:https://github.com/ryogrid/aiortc-dc/blob/pr-websocket-version-filexfer/examples/datachannel-filexfer/README_WS_SIGNALING_VERSION.rst
AIORTC
| rtd pypi-v pypi pyversions pypi-l travis codecov gitter
| RTD图像:https://readthedocs.org/projects/aiortc/badge/?version=latest :目标:https://aiortc.readthedocs.io/
| PYPI-V图像:https://img.shields.io/pypi/v/aiortc.svg :目标:https://pypi.python.org/pypi/aiortc
| pypi pyversions图像:https://img.shields.io/pypi/pyversions/aiortc.svg :目标:https://pypi.python.org/pypi/aiortc
| PYPI-L图像:https://img.shields.io/pypi/l/aiortc.svg :目标:https://pypi.python.org/pypi/aiortc
|特拉维斯图片:https://img.shields.io/travis/com/aiortc/aiortc.svg :目标:https://travis-ci.com/aiortc/aiortc
|codecov |图像:https://img.shields.io/codecov/c/github/aiortc/aiortc.svg :目标:https://codecov.io/gh/aiortc/aiortc
|吉特图片:https://img.shields.io/gitter/room/aiortc/Lobby.svg :目标:https://gitter.im/aiortc/Lobby
什么是aiortc
?
aiortc
是Web Real-Time Communication (WebRTC)
和
Object Real-Time Communication (ORTC)
在python中。它建在
asyncio
,Python的标准异步I/O框架
api在使用pythonic时紧跟其javascript对应项 构造:
- 承诺被合作所取代
- 使用
pyee.EventEmitter
发出事件
要了解有关aiortc
的更多信息,请read the documentation
。
_ web实时通信(webrtc):https://webrtc.org/ ……_对象实时通信(ortc):https://ortc.org/ ……_阅读文档:https://aiortc.readthedocs.io/en/latest/
为什么要使用aiortc
?
WebRTC和ORTC的主要实现要么内置在Web浏览器中, 或者以本机代码的形式出现。尽管它们经过了广泛的战斗测试, 它们的内部很复杂,不提供python绑定。 此外,它们与媒体堆栈紧密耦合,因此很难插入 在音频或视频处理算法中。
相反,aiortc
实现相当简单且可读。作为
对于希望了解如何
WebRTC工作或修补其内部创造创新也很容易
通过利用python生态系统中提供的大量模块来开发产品。
例如,您可以构建一个处理信令和数据的完整服务器
频道或使用opencv将计算机视觉算法应用于视频帧。
此外,在为
确保类内代码质量最佳的aiortc
代码。
实施情况
aiortc
允许您交换音频、视频和数据通道
Chrome和Firefox都定期测试互操作性。这是
它的一些功能:
- sdp生成/解析
- 建立交互式连接,包括半涓涓流
- DTLS密钥和证书生成
- DTLS握手、加密/解密(用于SCTP)
- RTP和RTCP的SRTP密钥、加密和解密
- 纯python sctp实现
- 数据通道
- 发送和接收音频(opus/pcmu/pcma)
- 发送和接收视频(VP8/H.264)
- 捆绑音频/视频/数据频道
- rtcp报告,包括从包丢失中恢复的nack/pli
要求
除了aiortc的python依赖项之外,还需要几个库 为媒体编解码器安装在系统上。需要FFMPEG 3.2或更高版本。
在Debian/Ubuntu上运行:
代码::bash
apt install libavdevice-dev libavfilter-dev libopus-dev libvpx-dev pkg-config
在OS X上运行:
代码::bash
brew install ffmpeg opus libvpx pkg-config
许可证
aiortc
在BSD license
下释放。
_BSD许可证:https://aiortc.readthedocs.io/en/latest/license.html