视频双流

  • C#

更新时间不可用

EnableDualStreamMode [1/2]

在发送端开启或关闭双流模式。

C#
public abstract int EnableDualStreamMode(bool enabled);

详情

弃用:

从 v4.2.0 起废弃,请改用 SetDualStreamMode [1/2]。

双流指视频大流和视频小流:

  • 视频大流:高分辨率、高帧率的视频流。
  • 视频小流:低分辨率、低帧率的视频流。

开启双流模式后,你可以在收流端调用 SetRemoteVideoStreamType 选择接收视频大流或视频小流。

注:

  • 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
  • 如果需要在多频道场景下开启视频双流,可以调用 EnableDualStreamModeEx 方法。
  • 该方法可以在加入频道前后调用。

参数

参数名描述
enabled

是否开启双流模式。

  • true: 开启双流模式。
  • false: (默认) 关闭双流模式。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

EnableDualStreamMode [2/2]

在发送端开启或关闭双流模式并设置视频小流。

C#
public abstract int EnableDualStreamMode(bool enabled, SimulcastStreamConfig streamConfig);

详情

弃用:

从 v4.2.0 起废弃,请改用 SetDualStreamMode [2/2]。

你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流:

  • 视频大流:高分辨率、高帧率的视频流。
  • 视频小流:低分辨率、低帧率的视频流。

开启双流模式后,你可以在收流端调用 SetRemoteVideoStreamType 选择接收视频大流或视频小流。

注:

  • 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
  • 如果需要在多频道场景下开启视频双流,可以调用 EnableDualStreamModeEx 方法。
  • 该方法可以在加入频道前后调用。

参数

参数名描述
enabled

是否开启双流模式:

  • true: 开启双流模式。
  • false: (默认) 关闭双流模式。
streamConfig

视频小流的配置。详见 SimulcastStreamConfig。

注: 当设置 mode 为 DISABLE_SIMULCAST_STREAM 时,再设置 streamConfig 不会生效。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。 详见错误码了解详情和解决建议。

所属接口类

EnableDualStreamModeEx

在发送端开启或关闭双流模式。

C#
public abstract int EnableDualStreamModeEx(bool enabled, SimulcastStreamConfig streamConfig, RtcConnection connection);

详情

弃用:

从 v4.2.0 起废弃,请改用 SetDualStreamModeEx。

你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流:

  • 视频大流:高分辨率、高帧率的视频流。
  • 视频小流:低分辨率、低帧率的视频流。

开启双流模式后,你可以在收流端调用 SetRemoteVideoStreamType 选择接收视频大流或视频小流。

注: 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。

参数

参数名描述
enabled

是否开启双流模式:

  • true: 开启双流模式。
  • false: (默认) 关闭双流模式。
streamConfig

视频小流的配置。详见 SimulcastStreamConfig。

注: 当设置 mode 为 DISABLE_SIMULCAST_STREAM 时,再设置 streamConfig 不会生效。

connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。 详见错误码了解详情和解决建议。

所属接口类

SetDualStreamMode [1/2]

在发送端设置双流模式。

C#
public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode);

详情

SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即发送端不主动发送小流,主播身份的接收端可以调用 SetRemoteVideoStreamType 发起小流申请,发送端收到申请后开始自动发送小流。

  • 如果你想修改此行为,可以调用该方法并修改 mode 为 DISABLE_SIMULCAST_STREAM(始终不发送小流)或 ENABLE_SIMULCAST_STREAM(始终发送小流)。
  • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为 AUTO_SIMULCAST_STREAM。

注: 该方法和 EnableDualStreamMode [1/2] 的区别与联系如下:

  • 调用该方法并设置 mode 为 DISABLE_SIMULCAST_STREAM 时,跟 EnableDualStreamMode [1/2](false) 的效果相同。
  • 调用该方法并设置 mode 为 ENABLE_SIMULCAST_STREAM 时,跟 EnableDualStreamMode [1/2](true) 的效果相同。
  • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。

参数

参数名描述
mode

发送视频流的模式。详见 SIMULCAST_STREAM_MODE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

SetDualStreamMode [2/2]

在发送端设置双流模式并设置视频小流。

C#
public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig);

详情

SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即发送端不主动发送小流,主播身份的接收端可以调用 SetRemoteVideoStreamType 发起小流申请,发送端收到申请后开始自动发送小流。

  • 如果你想修改此行为,可以调用该方法并修改 mode 为 DISABLE_SIMULCAST_STREAM(始终不发送小流)或 ENABLE_SIMULCAST_STREAM(始终发送小流)。
  • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为 AUTO_SIMULCAST_STREAM。

该方法跟 SetDualStreamMode [1/2] 的区别在于,该方法还可以进行视频小流的配置,SDK 会根据 streamConfig 中的配置发送小流。

注: 该方法和 EnableDualStreamMode [2/2] 的区别与联系如下:

  • 调用该方法并设置 mode 为 DISABLE_SIMULCAST_STREAM 时,跟调用 EnableDualStreamMode [2/2] 并设置 enabled 为 false 的效果相同。
  • 调用该方法并设置 mode 为 ENABLE_SIMULCAST_STREAM 时,跟调用 EnableDualStreamMode [2/2] 并设置 enabled 为 true 的效果相同。
  • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。

参数

参数名描述
mode

发送视频流的模式。详见 SIMULCAST_STREAM_MODE。

streamConfig

视频小流的配置。详见 SimulcastStreamConfig。

注: 当设置 mode 为 DISABLE_SIMULCAST_STREAM 时,再设置 streamConfig 不会生效。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。 详见错误码了解详情和解决建议。

所属接口类

SetDualStreamModeEx

在发送端设置双流模式。

C#
public abstract int SetDualStreamModeEx(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig, RtcConnection connection);

详情

SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即发送端不主动发送小流,主播身份的接收端可以调用 SetRemoteVideoStreamTypeEx 发起小流申请,发送端收到申请后开始自动发送小流。

  • 如果你想修改此行为,可以调用该方法并修改 mode 为 DISABLE_SIMULCAST_STREAM(始终不发送小流)或 ENABLE_SIMULCAST_STREAM(始终发送小流)。
  • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为 AUTO_SIMULCAST_STREAM。

注: 该方法和 EnableDualStreamModeEx 的区别与联系如下:

  • 调用该方法并设置 mode 为 DISABLE_SIMULCAST_STREAM 时,跟 EnableDualStreamModeEx(false) 的效果相同。
  • 调用该方法并设置 mode 为 ENABLE_SIMULCAST_STREAM 时,跟 EnableDualStreamModeEx(true) 的效果相同。
  • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。

参数

参数名描述
mode

发送视频流的模式。详见 SIMULCAST_STREAM_MODE。

streamConfig

视频小流的配置。详见 SimulcastStreamConfig。

注: 当设置 mode 为 DISABLE_SIMULCAST_STREAM 时,再设置 streamConfig 不会生效。

connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。 详见错误码了解详情和解决建议。

所属接口类

SetRemoteDefaultVideoStreamType

设置默认订阅的视频流类型。

C#
public abstract int SetRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType);

取决于发送端的默认行为和调用 SetDualStreamMode [2/2] 的具体设置,接收端调用该方法分为以下几种情况:

  • SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即:发送端仅发送大流,仅主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流,此时频道内所有用户均可调用该方法切换到小流订阅模式。
  • 当发送端调用 SetDualStreamMode [2/2] 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效。
  • 当发送端调用 SetDualStreamMode [2/2] 并将 mode 设置为 ENABLE_SIMULCAST_STREAM(始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。

在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

调用时机

该方法只能在加入频道前调用。SDK 不支持你在加入频道后修改默认订阅的视频流类型。

调用限制

如果你既调用了该方法,也调用了 SetRemoteVideoStreamType,则 SDK 以 SetRemoteVideoStreamType 中的设置为准。

参数

参数名描述
streamType

默认订阅的视频流类型: VIDEO_STREAM_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

SetRemoteVideoStreamType

设置订阅的视频流类型。

C#
public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType);

详情

取决于发送端的默认行为和调用 SetDualStreamMode [2/2] 的具体设置,接收端调用该方法分为以下几种情况:

  • SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即:发送端仅发送大流,仅主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流,此时频道内所有用户均可调用该方法切换到小流订阅模式。
  • 当发送端调用 SetDualStreamMode [2/2] 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效。
  • 当发送端调用 SetDualStreamMode [2/2] 并将 mode 设置为 ENABLE_SIMULCAST_STREAM(始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。

在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

注意:

  • 该方法在加入频道前后都能调用。
  • 如果既调用了该方法,也调用了 SetRemoteDefaultVideoStreamType,则 SDK 以该方法中的设置为准。

参数

参数名描述
uid

用户 ID。

streamType

视频流类型: VIDEO_STREAM_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

SetRemoteVideoStreamTypeEx

设置订阅的视频流类型。

C#
public abstract int SetRemoteVideoStreamTypeEx(uint uid, VIDEO_STREAM_TYPE streamType, RtcConnection connection);

详情

取决于发送端的默认行为和调用 SetDualStreamMode [2/2] 的具体设置,接收端调用该方法分为以下几种情况:

  • SDK 默认在发送端开启小流自适应模式 (AUTO_SIMULCAST_STREAM),即:发送端仅发送大流,仅主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流,此时频道内所有用户均可调用该方法切换到小流订阅模式。
  • 当发送端调用 SetDualStreamMode [2/2] 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效。
  • 当发送端调用 SetDualStreamMode [2/2] 并将 mode 设置为 ENABLE_SIMULCAST_STREAM(始终发送小流),则主播或观众身份的接收端均可调用该方法切换到小流订阅模式。

在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

注意: 如果发送端已调用 SetDualStreamModeEx 并将 mode 设置为 DISABLE_SIMULCAST_STREAM(始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 SetDualStreamModeEx 修改设置。

参数

参数名描述
uid

用户 ID。

streamType

视频流类型: VIDEO_STREAM_TYPE。

connection

Connection 信息。详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类