- (V2TXLiveCode) enableCustomAudioCapture: | (BOOL) | enable |
开启/关闭自定义音频采集。
在自定义音频采集模式下,SDK 不再从麦克风采集声音,只保留编码和发送能力。
开启/关闭自定义音频采集
enable | YES: 开启自定义采集; NO: 关闭自定义采集。【默认值】: NO |
- (V2TXLiveCode) enableCustomVideoCapture: | (BOOL) | enable |
开启/关闭自定义视频采集。
在自定义视频采集模式下,SDK 不再从摄像头采集图像,只保留编码和发送能力。
enable | YES:开启自定义采集;NO:关闭自定义采集。【默认值】:NO |
- (V2TXLiveCode) enableCustomVideoProcess: | (BOOL) | enable | |
pixelFormat: | (V2TXLivePixelFormat) | pixelFormat | |
bufferType: | (V2TXLiveBufferType) | bufferType | |
开启/关闭自定义视频处理。
enable | YES: 开启; NO: 关闭。【默认值】:NO |
pixelFormat | 指定回调的像素格式,【注意】:RTMP 协议下仅支持 V2TXLivePixelFormatTexture2D |
bufferType | 指定回调的数据格式,【注意】:RTMP 协议下仅支持 V2TXLiveBufferTypeTexture |
- (V2TXLiveCode) enableVolumeEvaluation: | (NSUInteger) | intervalMs |
启用采集音量大小提示。
开启后可以在 onMicrophoneVolumeUpdate 回调中获取到 SDK 对音量大小值的评估。
intervalMs | 决定了音量大小回调的触发间隔,单位为 ms,最小间隔为 100ms,如果小于等于0则会关闭回调,建议设置为 300ms。【默认值】:0,不开启 |
- (TXAudioEffectManager *) getAudioEffectManager |
获取音效管理对象 TXAudioEffectManager。
通过音效管理,您可以使用以下功能:
- (TXBeautyManager *) getBeautyManager |
获取美颜管理对象 TXBeautyManager。
通过美颜管理,您可以使用以下功能:
- (TXDeviceManager *) getDeviceManager |
获取设备管理对象 TXDeviceManager。
通过设备管理,您可以使用以下功能:
- (instancetype) initWithLiveMode: | (V2TXLiveMode) | liveMode |
初始化直播推流器
liveMode | 推流协议类型:RTMP/ROOM 协议,默认值:RTMP |
- (int) isPushing |
当前推流器是否正在推流中。
- (V2TXLiveCode) pauseAudio |
静音本地音频。
静音本地音频后,SDK 不会继续采集麦克风的声音 与 stopMicrophone 不同之处在于 pauseAudio 并不会停止发送音频数据,而是继续发送码率极低的静音包 由于 MP4 等视频文件格式,对于音频的连续性是要求很高的,使用 stopMicrophone 会导致录制出的 MP4 不易播放 因此在对录制质量要求很高的场景中,建议选择 pauseAudio,从而录制出兼容性更好的 MP4 文件
- (V2TXLiveCode) pauseVideo |
暂停推流器的视频流。
- (V2TXLiveCode) resumeAudio |
取消静音本地音频。
- (V2TXLiveCode) resumeVideo |
恢复推流器的视频流。
- (V2TXLiveCode) sendCustomAudioFrame: | (V2TXLiveAudioFrame *) | audioFrame |
在自定义音频采集模式下,将采集的音频数据发送到SDK,SDK不再采集麦克风数据,仅保留编码和发送功能。
在自定义音频采集模式下,将采集的音频数据发送到SDK
audioFrame | 向 SDK 发送的 音频帧数据 V2TXLiveAudioFrame |
- (V2TXLiveCode) sendCustomVideoFrame: | (V2TXLiveVideoFrame *) | videoFrame |
在自定义视频采集模式下,将采集的视频数据发送到SDK。
在自定义视频采集模式下,SDK不再采集摄像头数据,仅保留编码和发送功能。 您可以把采集到的 SampleBuffer 打包到 V2TXLiveVideoFrame 中,然后通过该API定期的发送。
videoFrame | 向 SDK 发送的 视频帧数据 V2TXLiveVideoFrame |
- (V2TXLiveCode) sendSeiMessage: | (int) | payloadType | |
data: | (NSData *) | data | |
发送 SEI 消息
播放端 V2TXLivePlayer 通过 V2TXLivePlayerObserver 中的 onReceiveSeiMessage
回调来接收该消息。
payloadType | 数据类型,支持 5、242。推荐填:242 |
data | 待发送的数据 |
- (V2TXLiveCode) setAudioQuality: | (V2TXLiveAudioQuality) | quality |
设置推流音频质量。
quality | 音频质量 V2TXLiveAudioQuality
|
- (V2TXLiveCode) setEncoderMirror: | (BOOL) | mirror |
设置视频编码镜像。
mirror | 是否镜像
|
- (V2TXLiveCode) setMixTranscodingConfig: | (V2TXLiveTranscodingConfig *) | config |
设置云端的混流转码参数
如果您在实时音视频 控制台 中的功能配置页开启了“启用旁路推流”功能, 房间里的每一路画面都会有一个默认的直播 CDN 地址
一个直播间中可能有不止一位主播,而且每个主播都有自己的画面和声音,但对于 CDN 观众来说,他们只需要一路直播流 所以您需要将多路音视频流混成一路标准的直播流,这就需要混流转码
当您调用 setMixTranscodingConfig 接口时,SDK 会向腾讯云的转码服务器发送一条指令,目的是将房间里的多路音视频流混合为一路, 您可以通过 mixUsers 参数来调整每一路画面的位置,以及是否只混合声音,也可以通过 videoWidth、videoHeight、videoBitrate 等参数控制混合音视频流的编码参数
【画面1】=> 解码 ====> \ \ 【画面2】=> 解码 => 画面混合 => 编码 => 【混合后的画面】 / 【画面3】=> 解码 ====> /
【声音1】=> 解码 ====> \ \ 【声音2】=> 解码 => 声音混合 => 编码 => 【混合后的声音】 / 【声音3】=> 解码 ====> /
参考文档:云端混流转码
config | 请参考 V2TXLiveDef.h 中关于 V2TXLiveTranscodingConfig 的介绍。如果传入 nil 则取消云端混流转码 |
- (void) setObserver: | (id< V2TXLivePusherObserver >) | observer |
设置推流器回调。
通过设置回调,可以监听 V2TXLivePusher 推流器的一些回调事件, 包括推流器状态、音量回调、统计数据、警告和错误信息等。
observer | 推流器的回调目标对象,更多信息请查看 V2TXLivePusherObserver |
- (V2TXLiveCode) setProperty: | (NSString *) | key | |
value: | (NSObject *) | value | |
调用 V2TXLivePusher 的高级 API 接口。
key | 高级 API 对应的 key。 |
value | 调用 key 所对应的高级 API 时,需要的参数。 |
- (V2TXLiveCode) setRenderMirror: | (V2TXLiveMirrorType) | mirrorType |
设置本地摄像头预览镜像。
本地摄像头分为前置摄像头和后置摄像头,系统默认情况下,是前置摄像头镜像,后置摄像头不镜像,这里可以修改前置后置摄像头的默认镜像类型。
mirrorType | 摄像头镜像类型 V2TXLiveMirrorType
|
- (V2TXLiveCode) setRenderRotation: | (V2TXLiveRotation) | rotation |
设置本地摄像头预览画面的旋转角度。
rotation | 预览画面的旋转角度 V2TXLiveRotation
|
- (V2TXLiveCode) setRenderView: | (TXView *) | view |
设置本地摄像头预览 View。
本地摄像头采集到的画面,经过美颜、脸形调整、滤镜等多种效果叠加之后,最终会显示到传入的 View 上。
view | 本地摄像头预览 View |
- (V2TXLiveCode) setVideoQuality: | (V2TXLiveVideoEncoderParam *) | param |
- (V2TXLiveCode) setWatermark: | (TXImage *) | image | |
x: | (float) | x | |
y: | (float) | y | |
scale: | (float) | scale | |
设置推流器水印。默认情况下,水印不开启。
image | 水印图片。如果该值为 nil,则等效于禁用水印 |
x | 水印的横坐标,取值范围为0 - 1的浮点数。 |
y | 水印的纵坐标,取值范围为0 - 1的浮点数。 |
scale | 水印图片的缩放比例,取值范围为0 - 1的浮点数。 |
- (void) showDebugView: | (BOOL) | isShow |
显示仪表盘。
isShow | 是否显示。【默认值】:NO |
- (V2TXLiveCode) snapshot |
截取推流过程中的本地画面。
- (V2TXLiveCode) startCamera: | (BOOL) | frontCamera |
打开本地摄像头。
frontCamera | 是否为前置摄像头
|
- (V2TXLiveCode) startCamera: | (NSString *) | cameraId |
打开本地摄像头。
cameraId | 摄像头标识 |
- (V2TXLiveCode) startMicrophone |
打开麦克风。
- (V2TXLiveCode) startPush: | (NSString *) | url |
开始音视频数据推流。
url | 推流的目标地址,支持任意推流服务端 |
- (V2TXLiveCode) startScreenCapture: | (NSString *) | appGroup |
开始全系统的屏幕分享(该接口支持 iOS 11.0 及以上的 iPhone 和 iPad)。
appGroup | 主 App 与 Broadcast 共享的 Application Group Identifier,可以指定为 nil,但按照文档设置会使功能更加可靠。 |
- (V2TXLiveCode) startVirtualCamera: | (TXImage *) | image |
开启图片推流。
image | 图片 |
- (V2TXLiveCode) stopCamera |
关闭本地摄像头。
- (V2TXLiveCode) stopMicrophone |
关闭麦克风。
- (V2TXLiveCode) stopPush |
停止推送音视频数据。
- (V2TXLiveCode) stopScreenCapture |
关闭屏幕采集。
- (V2TXLiveCode) stopVirtualCamera |
关闭图片推流。