tencent cloud

文档反馈

V2TXLivePusherObserver

最后更新时间:2024-03-07 15:43:02
    Copyright (c) 2021 Tencent. All rights reserved.
    
    Module: V2TXLivePusherObserver @ TXLiteAVSDK
    
    Function: 腾讯云直播推流的回调通知
    

    功能

    腾讯云直播的推流回调通知。

    介绍

    可以接收 V2TXLivePusher 推流器的一些推流通知,包括推流器连接状态、音视频首帧回调、统计数据、警告和错误信息等。
    
    V2TXLivePusherObserver

    V2TXLivePusherObserver

    函数列表
    描述
    直播推流器错误通知,推流器出现错误时,会回调该通知
    直播推流器警告通知
    首帧音频采集完成的回调通知
    首帧视频采集完成的回调通知
    麦克风采集音量值回调
    推流器连接状态回调通知
    直播推流器统计数据回调
    截图回调
    本地采集并经过音频模块前处理、音效处理和混 BGM 后的音频数据回调
    自定义视频处理回调
    SDK 内部的 OpenGL 环境的销毁通知
    设置云端的混流转码参数的回调,对应于 setMixTranscodingConfig 接口
    当屏幕分享开始时,SDK 会通过此回调通知
    当屏幕分享停止时,SDK 会通过此回调通知
    录制任务开始的事件回调
    录制任务正在进行中的进展事件回调
    录制任务已经结束的事件回调

    onError:message:extraInfo:

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

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

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

    onWarning:message:extraInfo:

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

    直播推流器警告通知

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

    onCaptureFirstAudioFrame

    onCaptureFirstAudioFrame

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

    onCaptureFirstVideoFrame

    onCaptureFirstVideoFrame

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

    onMicrophoneVolumeUpdate:

    onMicrophoneVolumeUpdate:
    - (void)onMicrophoneVolumeUpdate:
    (NSInteger)volume

    麦克风采集音量值回调

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

    onPushStatusUpdate:message:extraInfo:

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

    推流器连接状态回调通知

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

    onStatisticsUpdate:

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

    直播推流器统计数据回调

    参数
    描述
    statistics
    推流器统计数据 V2TXLivePusherStatistics

    onSnapshotComplete:

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

    截图回调

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

    onProcessAudioFrame:

    onProcessAudioFrame:
    - (void) onProcessAudioFrame:
    (V2TXLiveAudioFrame *)frame

    本地采集并经过音频模块前处理、音效处理和混 BGM 后的音频数据回调

    当您设置完音频数据自定义回调之后,SDK 内部会把刚采集到并经过前处理、音效处理和混 BGM 之后的数据,在最终进行网络编码之前,以 PCM 格式的形式通过本接口回调给您。
    此接口回调出的音频时间帧长固定为 0.02s,格式为 PCM 格式。
    由时间帧长转化为字节帧长的公式为 采样率 × 时间帧长 × 声道数 × 采样点位宽
    以 SDK 默认的音频录制格式 48000 采样率、单声道、16采样点位宽为例,字节帧长为 48000 × 0.02s × 1 × 16bit = 15360bit = 1920字节
    参数
    描述
    frame
    PCM 格式的音频数据帧。
    注意
    1. 请不要在此回调函数中做任何耗时操作,由于 SDK 每隔 20ms 就要处理一帧音频数据,如果您的处理时间超过 20ms,就会导致声音异常。
    2. 此接口回调出的音频数据是可读写的,也就是说您可以在回调函数中同步修改音频数据,但请保证处理耗时。

    onProcessVideoFrame:dstFrame:

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

    自定义视频处理回调

    参数
    描述
    dstFrame
    用于承载处理过的视频画面。
    srcFrame
    用于承载未处理的视频画面。
    注意
    需要调用 enableCustomVideoProcess 开启自定义视频处理,才会收到这个回调通知。
    【情况一】美颜组件会产生新的纹理
    如果您使用的美颜组件会在处理图像的过程中产生一帧全新的纹理(用于承载处理后的图像),那请您在回调函数中将 dstFrame.textureId 设置为新纹理的 ID。
    `ObjectiveC
    (void) onProcessVideoFrame:(V2TXLiveVideoFrame * _Nonnull)srcFrame dstFrame:(V2TXLiveVideoFrame * _Nonnull)dstFrame
    {
    GLuint dstTextureId = renderItemWithTexture(srcFrame.textureId, srcFrame.width, srcFrame.height);
    dstFrame.textureId = dstTextureId;
    return 0;
    }
    `
    【情况二】美颜组件并不自身产生新纹理
    如果您使用的第三方美颜模块并不生成新的纹理,而是需要您设置给该模块一个输入纹理和一个输出纹理,则可以考虑如下方案:
    `ObjectiveC
    (void) onProcessVideoFrame:(V2TXLiveVideoFrame * _Nonnull)srcFrame dstFrame:(V2TXLiveVideoFrame * _Nonnull)dstFrame
    {
    thirdparty_process(srcFrame.textureId, srcFrame.width, srcFrame.height, dstFrame.textureId);
    return 0;
    }
    `

    onGLContextDestroyed

    onGLContextDestroyed

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

    onSetMixTranscodingConfig:message:

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

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

    参数
    描述
    code
    0表示成功,其余值表示失败。
    msg
    具体错误原因。

    onScreenCaptureStarted

    onScreenCaptureStarted

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

    onScreenCaptureStopped:

    onScreenCaptureStopped:
    - (void)onScreenCaptureStopped:
    (int)reason

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

    参数
    描述
    reason
    停止原因
    0:表示用户主动停止。
    1:iOS 表示录屏被系统中断;Mac、Windows 表示屏幕分享窗口被关闭。
    2:Windows 表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等);其他平台不抛出。

    onLocalRecordBegin:storagePath:

    onLocalRecordBegin:storagePath:
    - (void)onLocalRecordBegin:
    (NSInteger)errCode
    storagePath:
    (NSString *)storagePath

    录制任务开始的事件回调

    参数
    描述
    code
    状态码。
    0:录制任务启动成功。
    -1:内部错误导致录制任务启动失败。
    -2:文件后缀名有误(比如不支持的录制格式)。
    -6:录制已经启动,需要先停止录制。
    -7:录制文件已存在,需要先删除文件。
    -8:录制目录无写入权限,请检查目录权限问题。
    storagePath
    录制的文件地址。

    onLocalRecording:storagePath:

    onLocalRecording:storagePath:
    - (void)onLocalRecording:
    (NSInteger)durationMs
    storagePath:
    (NSString *)storagePath

    录制任务正在进行中的进展事件回调

    参数
    描述
    durationMs
    录制时长。
    storagePath
    录制的文件地址。

    onLocalRecordComplete:storagePath:

    onLocalRecordComplete:storagePath:
    - (void)onLocalRecordComplete:
    (NSInteger)errCode
    storagePath:
    (NSString *)storagePath

    录制任务已经结束的事件回调

    参数
    描述
    code
    状态码。
    0:结束录制任务成功。
    -1:录制失败。
    -2:切换分辨率或横竖屏导致录制结束。
    -3:录制时间太短,或未采集到任何视频或音频数据,请检查录制时长,或是否已开启音、视频采集。
    storagePath
    录制的文件地址。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持