| audio | 发送&接收 | |
| receiver_only | 发送&接收 | 标识模块角色:true表示仅作为接收端(不发送 RTP 数据,只处理接收和 RTCP 反馈),false为收发双工模式。 |
| clock | 发送&接收 | 时间读取的时钟对象,为空则使用系统时钟;主要用于测试场景(注入自定义时钟,模拟时间偏移 / 加速)。 |
| receive_statistics | 接收端 | 接收侧统计数据提供者,负责收集、存储、计算 RTP 接收端的核心统计(如丢包率、时延、抖动、包计数等)。 |
| rtt_stats | 发送&接收 | RTT(往返时延)统计对象,专门存储和更新 RTCP 交互得到的往返时延数据,供拥塞控制等模块使用。 |
| rtcp_packet_type_counter_observer | 发送&接收 | RTCP 包类型计数观察者,统计不同类型 RTCP 包(如 RR、SR、NACK、PLI 等)的收发数量,用于监控和调试。 |
| send_bitrate_observer | 发送端 | 发送码率观察者,当发送码率发生变化时触发回调,供上层模块(如编码器)调整码率。 |
| send_side_delay_observer | 发送端 | 发送侧延迟观察者,监控发送端从生成帧到发送包的延迟,用于优化发送时序。 |
| rtp_stats_callback | 发送&接收 | RTP 流数据计数器回调,定期上报 RTP 收发的字节数、包数、重传数等核心统计数据。 |
| report_block_data_observer | 接收端 | RTCP 报告块数据观察者,接收远端 RTCP RR/SR 报告块时触发回调,可获取远端的接收统计(如丢包、时延)。 |
| outgoing_transport | 发送&接收 | 网络传输对象,RTP/RTCP 包准备好发送时,会调用该对象的接口将包发送到网络(是 RTP/RTCP 与底层传输的核心桥接)。 |
| remote_bitrate_estimator | 接收端 | 远端码率估计器,通过分析 RTCP 反馈 / 传输层反馈,估计对端的可用带宽,指导本地发送码率调整(拥塞控制核心)。 |
| paced_sender | 发送端 | RTP 包发送调步器(流量控制器),将突发的包分散成小批次发送,减少网络拥塞和丢包。 |
| fec_generator | 发送端 | FEC(前向纠错)生成器,为视频包生成冗余的 FEC 包,提升丢包场景下的容错性(降低花屏 / 卡顿)。 |
| retransmission_rate_limiter | 发送端 | 重传速率限制器,限制 RTP 包重传的速率,避免重传包占用过多带宽导致主流拥塞。 |
| send_packet_observer | 发送端 | 发送包观察者,每发送一个 RTP 包都会触发回调,可用于监控发送行为(如记录发送时间、包大小)。 |
| rtcp_report_interval_ms | 发送&接收 | RTCP 报告的发送间隔(毫秒),设为 0 则使用 WebRTC 默认值;用于控制 RTCP 反馈的频率(频率过高增加开销,过低影响拥塞控制精度)。 |
| intra_frame_callback | 接收端 | 接收端请求关键帧(PLI/FIR)时的回调,触发视频编码器生成 I 帧,解决视频花屏问题。 |
| rtcp_loss_notification_observer | 接收端 | RTCP 丢包通知观察者,仅接收端需要:接收端发送丢包通知(Loss Notification)时触发回调,优化丢包响应策略,发送端无此行为,无需配置 |
| bandwidth_callback | 发送端 | 带宽回调:感知带宽估计变化,发送端(调整编码码率)、接收端(感知对端带宽变化)均需依赖,可选配置 |
| network_state_estimate_observer | 发送&接收 | 网络状态观察者:感知网络延迟、抖动、带宽等状态变化,收发双方均需根据网络状态优化策略(如发送端调整码率、接收端调整反馈频率) |
| transport_feedback_callback | 发送&接收 | 传输反馈观察者:接收传输层反馈(NACK、ACK 等),收发双方均需根据反馈优化重传和发送策略,可选配置 |
| bitrate_allocation_observer | 发送端 | 视频码率分配观察者,仅发送端(视频)需要:监控多流 / 多层视频的码率分配策略变化,适配编码器输出,接收端无需分配码率,无需配置 |
| local_media_ssrc | 发送&接收 | 本地媒体主 SSRC:标识当前 RTP 流的唯一 ID,发送端用于标记发送的 RTP 包,接收端用于标识自身(供远端反馈 RTCP),必须配置 |
| rtx_send_ssrc | 发送 | RTX 重传流 SSRC,仅发送端需要:用于标识重传包对应的 RTP 流,接收端仅负责识别该 SSRC 对应的重传包,无需配置本地 RTX SSRC |