- 自动订阅 —— 入会前调
rtc_set_auto_subscribe,SDK 自动订上所有远端轨道。录制、混音、AI 接入这类”全都要”的场景用这个 - 手动订阅 —— 在轨道事件回调里挑需要的轨道逐个订阅
rtc_set_track_sample_callback 回调。
rtc_subscribe_audio
返回值
rtc_subscribe_video
rtc_subscribe_audio;订阅视频合成流时传 RTC_MCU_PUBLISHER_UID / RTC_TRACK_MCU_ID。
合成流(program)的订阅不另设接口,统一用上面两个通用接口配合保留常量完成。详见 合成流(program)。
rtc_unsubscribe
track_id。返回值同上。
取消订阅后,SDK 会自动停止该轨道的数据收集,对应的 track_sample 回调随之停止。
手动订阅示例
rtc_request_key_frame
返回值
什么时候调用
- 刚订阅上一条视频、想尽快出画面
- 解码器报错、画面花屏或灰屏,需要刷新参考帧
丢包不需要你请求关键帧。 少量丢包由 SDK 的 NACK 重传自动补回,不会导致画面损坏,因此 SDK 不会、也不建议你基于丢包率去请求关键帧 —— 那样只会触发不必要的关键帧,反而推高码率、加剧拥塞。请只在你的解码器真的报错或画面已经花屏时才调用。接口已内置限流(每秒最多 1 次),逐帧解码报错时反复调用也不会把请求刷爆。
相关
- 发布端如何响应关键帧请求:发布与推流
- simulcast 多层订阅与主动切层:SeaStart 进阶能力