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