LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
V2TXLivePusherObserver

详细描述

腾讯云直播推流的回调通知。
V2TXLivePusher 的一些回调事件,包括推流器状态,推流音量,统计信息,警告以及错误信息。


结构体说明

◆ V2TXLivePusherObserver-p

protocol V2TXLivePusherObserver-p

构造函数

(void) - onError:message:extraInfo:
 
(void) - onWarning:message:extraInfo:
 
(void) - onCaptureFirstAudioFrame
 
(void) - onCaptureFirstVideoFrame
 
(void) - onMicrophoneVolumeUpdate:
 
(void) - onPushStatusUpdate:message:extraInfo:
 
(void) - onStatisticsUpdate:
 
(void) - onSnapshotComplete:
 
(void) - onProcessVideoFrame:dstFrame:
 
(void) - onGLContextDestroyed
 
(void) - onSetMixTranscodingConfig:message:
 
(void) - onScreenCaptureStarted
 
(void) - onScreenCaptureStopped:
 

函数文档

◆ onCaptureFirstAudioFrame()

- (void) onCaptureFirstAudioFrame
optional

首帧音频采集完成的回调通知

◆ onCaptureFirstVideoFrame()

- (void) onCaptureFirstVideoFrame
optional

首帧视频采集完成的回调通知

◆ onError:message:extraInfo:()

- (void) onError: (V2TXLiveCode code
message: (NSString *)  msg
extraInfo: (NSDictionary *)  extraInfo 
optional

直播推流器错误通知,推流器出现错误时,会回调该通知

参数
code错误码 V2TXLiveCode
msg错误信息
extraInfo扩展信息

◆ onGLContextDestroyed()

- (void) onGLContextDestroyed
optional

SDK 内部的 OpenGL 环境的销毁通知

◆ onMicrophoneVolumeUpdate:()

- (void) onMicrophoneVolumeUpdate: (NSInteger)  volume
optional

麦克风采集音量值回调

参数
volume音量大小
注意
调用 enableVolumeEvaluation 开启采集音量大小提示之后,会收到这个回调通知。

◆ onProcessVideoFrame:dstFrame:()

- (void) onProcessVideoFrame: (V2TXLiveVideoFrame *_Nonnull)  srcFrame
dstFrame: (V2TXLiveVideoFrame *_Nonnull)  dstFrame 
optional

自定义视频处理回调

注意
需要调用 V2TXLivePusher::enableCustomVideoProcess:pixelFormat:bufferType: "enableCustomVideoProcess" 开启自定义视频处理,才会收到这个回调通知。

【情况一】美颜组件会产生新的纹理 如果您使用的美颜组件会在处理图像的过程中产生一帧全新的纹理(用于承载处理后的图像),那请您在回调函数中将 dstFrame.textureId 设置为新纹理的 ID。

  • (void) onProcessVideoFrame:(V2TXLiveVideoFrame * _Nonnull)srcFrame dstFrame:(V2TXLiveVideoFrame * _Nonnull)dstFrame { GLuint dstTextureId = renderItemWithTexture(srcFrame.textureId, srcFrame.width, srcFrame.height); dstFrame.textureId = dstTextureId; return 0; }
【情况二】美颜组件并不自身产生新纹理
如果您使用的第三方美颜模块并不生成新的纹理,而是需要您设置给该模块一个输入纹理和一个输出纹理,则可以考虑如下方案:
  • (void) onProcessVideoFrame:(V2TXLiveVideoFrame * _Nonnull)srcFrame dstFrame:(V2TXLiveVideoFrame * _Nonnull)dstFrame { thirdparty_process(srcFrame.textureId, srcFrame.width, srcFrame.height, dstFrame.textureId); return 0; }
参数
srcFrame用于承载未处理的视频画面
dstFrame用于承载处理过的视频画面

◆ onPushStatusUpdate:message:extraInfo:()

- (void) onPushStatusUpdate: (V2TXLivePushStatus status
message: (NSString *)  msg
extraInfo: (NSDictionary *)  extraInfo 
optional

推流器连接状态回调通知

参数
status推流器连接状态 V2TXLivePushStatus
msg连接状态信息
extraInfo扩展信息

◆ onScreenCaptureStarted()

- (void) onScreenCaptureStarted
optional

当屏幕分享开始时,SDK 会通过此回调通知

◆ onScreenCaptureStopped:()

- (void) onScreenCaptureStopped: (int)  reason
optional

当屏幕分享停止时,SDK 会通过此回调通知

参数
reason停止原因
  • 0:表示用户主动停止;
  • 1:表示屏幕分享窗口被关闭;
  • 2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)

◆ onSetMixTranscodingConfig:message:()

- (void) onSetMixTranscodingConfig: (V2TXLiveCode code
message: (NSString *)  msg 
optional

设置云端的混流转码参数的回调,对应于 setMixTranscodingConfig 接口

参数
code0表示成功,其余值表示失败
msg具体错误原因

◆ onSnapshotComplete:()

- (void) onSnapshotComplete: (TXImage *)  image
optional

截图回调

参数
image已截取的视频画面
注意
调用 snapshot 截图之后,会收到这个回调通知

◆ onStatisticsUpdate:()

- (void) onStatisticsUpdate: (V2TXLivePusherStatistics *)  statistics
optional

直播推流器统计数据回调

参数
statistics推流器统计数据 V2TXLivePusherStatistics

◆ onWarning:message:extraInfo:()

- (void) onWarning: (V2TXLiveCode code
message: (NSString *)  msg
extraInfo: (NSDictionary *)  extraInfo 
optional

直播推流器警告通知

参数
code警告码 V2TXLiveCode
msg警告信息
extraInfo扩展信息