sendSEIMessage abstract method
Future<int?>
sendSEIMessage({
- StreamIndex streamIndex = StreamIndex.main,
- required Uint8List message,
- required int repeatCount,
- SEICountPerFrame mode = SEICountPerFrame.single,
通过视频帧发送 SEI 数据。
在视频通话场景下,SEI 数据会随视频帧发送;在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据。
streamIndex
:指定携带 SEI 数据的媒体流类型。
语音通话场景下,该值需设为 main
,否则 SEI 数据会被丢弃从而无法送达远端。
message
:是 SEI 消息内容,超过 4KB 的消息会被丢弃。
repeatCount
:是消息发送重复次数。取值范围是 [0, max{29, %{视频帧率}-1}]
。推荐范围 [2,4]
。
调用此接口后,这些 SEI 数据会添加到从当前视频帧开始的连续 %{repeat_count}+1
个视频帧中。
mode
:SEI 发送模式。
返回值:
>=0
:将被添加到视频帧中的 SEI 的数量<0
:发送失败
注意:
- SEI 数据会随视频帧发送。每秒发送的 SEI 消息数量建议不超过当前的视频帧率。在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据,帧率为 15 fps。
- 语音通话场景中,仅支持在内部采集模式下调用该接口发送 SEI 数据。
- 视频通话场景中,如果自定义采集的原视频帧中已添加了 SEI 数据,则调用此方法不生效。
- 视频帧仅携带前后 2s 内收到的 SEI 数据;语音通话场景下,若调用此接口后 1min 内未有 SEI 数据发送,则 SDK 会自动取消发布视频黑帧。
- 消息发送成功后,远端会收到 RTCVideoEventHandler.onSEIMessageReceived 回调。
- 语音通话切换至视频通话时,会停止使用黑帧发送 SEI 数据,自动转为用采集到的正常视频帧发送 SEI 数据。
Implementation
Future<int?> sendSEIMessage({
StreamIndex streamIndex = StreamIndex.main,
required Uint8List message,
required int repeatCount,
SEICountPerFrame mode = SEICountPerFrame.single,
});