sendPublicStreamSEIMessage abstract method

Future<int?> sendPublicStreamSEIMessage({
  1. StreamIndex streamIndex,
  2. required int channelId,
  3. required Uint8List message,
  4. required int repeatCount,
  5. SEICountPerFrame mode = SEICountPerFrame.single,
})

公共流视频帧发送 SEI 数据

streamIndex:指定携带 SEI 数据的媒体流类型。

channelId: SEI 消息传输通道,取值范围 0 - 255。通过此参数,你可以为不同接受方设置不同的 ChannelID,这样不同接收方可以根据回调中的 ChannelID 选择应关注的 SEI 信息。

message:SEI 消息长度,建议每帧 SEI 数据总长度长度不超过 4 KB。

repeatCount:是消息发送重复次数。取值范围是 [0, max{29, %{视频帧率}-1}]。推荐范围 [2,4]
调用此接口后,这些 SEI 数据会添加到从当前视频帧开始的连续 %{repeat_count}+1 个视频帧中。

mode:SEI 发送模式。

返回值:

  • >0:将被添加到视频帧中的 SEI 的数量
  • =0:当前发送队列已满,无法发送
  • <0:发送失败

注意:

  • 每秒发送的 SEI 消息数量建议不超过当前的视频帧率。
  • 视频通话场景中,如果自定义采集的原视频帧中已添加了 SEI 数据,则调用此方法不生效。
  • 视频帧仅携带前后 2s 内收到的 SEI 数据;语音通话场景下,若调用此接口后 1min 内未有 SEI 数据发送,则 SDK 会自动取消发布视频黑帧。
  • 消息发送成功后,远端会收到 RTCVideoEventHandler.onPublicStreamSEIMessageReceivedWithChannel 回调。
  • 调用失败时,本地及远端都不会收到回调。

Implementation

Future<int?> sendPublicStreamSEIMessage(
    {StreamIndex streamIndex,
    required int channelId,
    required Uint8List message,
    required int repeatCount,
    SEICountPerFrame mode = SEICountPerFrame.single});