aiortc是实现webrtc推拉流的python版本客户端程序,目前分析了下目录结构,需要使用它仍在学习工程中,需要了解他的内部工作原理
目录结构如下:
├── about.py 版本/作者
├── clock.py ntp时钟
├── codecs 编码相关 ,主要是包结构解析与封包
│ ├── __init__.py
│ ├── _opus.pyi
│ ├── _vpx.pyi
│ ├── base.py
│ ├── g711.py
│ ├── h264.py
│ ├── opus.py
│ └── vpx.py
├── contrib 媒体控制 信令控制
│ ├── __init__.py
│ ├── media.py
│ └── signaling.py
├── events.py 媒体传输数据结构
├── exceptions.py 自定义定义异常类
├── jitterbuffer.py jitter缓存算法相关
├── mediastreams.py 媒体录制/编码等相关
├── rate.py 带宽相关算法
├── rtcconfiguration.py 配置数据结构
├── rtcdatachannel.py 数据通道
├── rtcdtlstransport.py dtls握手
├── rtcicetransport.py ice交互
├── rtcpeerconnection.py 主控文件
├── rtcrtpparameters.py rtcp 数据相关结构
├── rtcrtpreceiver.py 接收rtp处理文件
├── rtcrtpsender.py 发送rtp处理文件
├── rtcrtptransceiver.py
├── rtcsctptransport.py
├── rtcsessiondescription.py 信令数据结构
├── rtp.py rtp/rtcp解包与封包
├── sdp.py 构造sdp与解析sdp
├── stats.py 数据结构
└── utils.py 位移操作等
主要库:asynio av type pylibsrtp
分析思路:
1、先分析工作流程
2、对单个文件进行分析
3、小结