通信和直播场景有什么区别?

最近更新时间:2022-09-20 05:17:40

本文内容仅适用于 anyRTC RTC Native SDK。

为针对不同的实时音视频场景采用不同的优化策略,anyRTC 为 RTC 频道提供了一个 setChannelProfile 方法。你可以通过该方法将频道设置为通信(CHANNEL_PROFILE_COMMUNICATION)场景或直播(CHANNEL_PROFILE_LIVE_BROADCASTING)场景。这两种场景默认的用户角色、音频路由、视频编码码率是不同的。

场景默认用户角色默认音频路由默认视频编码码率(相同的分辨率和帧率)
通信场景都是主播,不可调用 setClientRole 改变用户角色
  • 纯语音通话的场景,默认音频路由为听筒
  • 有视频的通话场景,默认音频路由为扬声器
  • 通信场景码率
    直播场景都是观众,可调用 setClientRole 改变用户角色默认音频路由为扬声器直播场景的码率是通信场景码率的两倍

    默认用户角色

    为方便对用户进行管理,anyRTC 对用户角色进行区分:

    • 主播:在频道中既可以发流、也可以收流的用户。
    • 观众:在频道中只能收流的用户。

    在有连麦鉴权的场景中,如果用户以 subscriber 角色的 Token 加入频道,只调用 setClientRole 不能切换用户角色。详见如何使用连麦鉴权功能

    默认音频路由

    音频路由是指 app 在播放音频时使用的设备通道。

    默认音频路由指的是设备本身的音频路由,通常为手机的听筒或扬声器。

    默认视频编码码率

    setVideoEncoderConfiguration 方法中的 bitrate 成员为本地视频编码码率。当码率使用默认值,即 STANDARD_BITRATE(0) 时,相同的分辨率和帧率下,直播场景的码率是通信场景码率的两倍。

    分辨率 (px)帧率 (fps)基准码率 (Kbps, 通信场景适用)直播码率 (Kbps, 直播场景适用)
    160 × 1201565130
    320 × 18015140280
    640 × 360306001,200
    848 × 480309301,860

    完整的视频编码分辨率、帧率、码率对照表请参考 API 文档

    推荐设置

    anyRTC 推荐:

    • 在一对一通话或多人群聊场景中,将频道场景设为 CHANNEL_PROFILE_COMMUNICATION(通信)。
    • 在语音聊天室、小班课、互动大班课、视频直播等场景中,将频道场景设为 CHANNEL_PROFILE_LIVE_BROADCASTING(直播)。