IExternalVideoEncoderEventHandler class

@detail callback @brief 自定义编码帧回调类
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

Constructors

IExternalVideoEncoderEventHandler({FutureOr<void> onStart(String streamId)?, FutureOr<void> onStop(String streamId)?, FutureOr<void> onRateUpdate(String streamId, int videoIndex, int fps, int bitrateKbps)?, FutureOr<void> onRequestKeyFrame(String streamId, int videoIndex)?, FutureOr<void> onActiveVideoLayer(String streamId, int videoIndex, bool active)?})

Properties

hashCode int
The hash code for this object.
no setterinherited
onActiveVideoLayer FutureOr<void> Function(String streamId, int videoIndex, bool active)?
@valid since 3.56 @detail callback @author wangqianqian.1104 @brief 作为自定义编码视频流的发送端,你会在视频流可发送状态发生变化时,收到此回调。
你可以根据此回调的提示,仅对可发送的视频流进行编码,以降低本端视频编码性能消耗。此回调会根据多个因素综合判断触发,包括:本端设备性能和本端网络性能,以及按需订阅场景下,远端用户是否订阅。 @param streamId 编码流的 ID @param streamInfo 编码流的属性 @param videoIndex 对应编码流的下标 @param active 该路流可发送状态 @note 要收到此回调,必须调用 setVideoSourceType{@link #RTCEngine#setVideoSourceType} 设置视频源是自定义编码,且通过 setExternalVideoEncoderEventHandler{@link #RTCEngine#setExternalVideoEncoderEventHandler} 设置了回调句柄。
getter/setter pair
onRateUpdate FutureOr<void> Function(String streamId, int videoIndex, int fps, int bitrateKbps)?
@detail callback @author wangzhanqiang @brief 当自定义编码流的帧率或码率发生变化时,触发该回调 @param streamId 发生变化的编码流的 ID @param streamInfo 发生变化的编码流的属性 @param videoIndex 对应编码流的下标 @param fps 变化后的帧率,单位:fps @param bitrateKbps 变化后的码率,单位:kbps
getter/setter pair
onRequestKeyFrame FutureOr<void> Function(String streamId, int videoIndex)?
@detail callback @author wangzhanqiang @brief 提示流发布端需重新生成关键帧的回调 @param streamId 远端编码流的 ID @param streamInfo 远端编码流的属性 @param videoIndex 对应编码流的下标
getter/setter pair
onStart FutureOr<void> Function(String streamId)?
@detail callback @author wangzhanqiang @brief 提示自定义编码帧可以开始推送的回调。
收到该回调后,你即可调用 pushExternalEncodedVideoFrame{@link #RTCEngine#pushExternalEncodedVideoFrame} 向 SDK 推送自定义编码视频帧 @param streamId 可以推送的编码流的 ID @param streamInfo 可以推送的编码流的属性
getter/setter pair
onStop FutureOr<void> Function(String streamId)?
@detail callback @author wangzhanqiang @brief 当收到该回调时,你需停止向 SDK 推送自定义编码视频帧 @param streamId 需停止推送的编码流的 ID @param streamInfo 需停止推送的编码流的属性
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited