文档反馈
文档反馈

录制模式

出于不同业务场景的需要,云端录制支持多种录制模式,可以录制单人的音频或视频流,也可以把多路音视频合流录制,本文档为您介绍云端录制的录制模式及录制模式的设置方式。

录制模式

云端录制支持以下三种录制模式:

例如,A、B、C 三人进行音视频通话,A 端设置参与合流+单流录制,B 端设置只参与合流录制,C 端设置只参与单流录制,录制结束后会产生以下文件包:

录制文件

云端录制支持录制视频或音频流,根据录制模式生成不同的文件类型。

注意:

实现方法

您可以通过服务端或客户端 API 设置录制模式,并实现云端录制。

服务端API

调用云端录制接口,开启或关闭云端录制、设置音视频通话全局的录制相关参数。

Android

在初始化之前,通过 NERtc.getInstance().setParameters(mRtcParameters); 设置录制参数。

NERtcParameters parameters = new NERtcParameters();
parameters.set(NERtcParameters.KEY_SERVER_RECORD_AUDIO, true);
parameters.set(NERtcParameters.KEY_SERVER_RECORD_VIDEO, true);
parameters.set(NERtcParameters.KEY_SERVER_RECORD_MODE, MIX_AND_SINGLE);
parameters.set(NERtcParameters.KEY_SERVER_RECORD_SPEAKER, false);

NERtc.getInstance().setParameters(parameters);
...
NERtcEx.getInstance().init(getApplicationContext(),Config.APP_KEY,callback,null);

iOS

在初始化之后,每次加入频道前,都需要调用音视频实例的 - (int)setParameters:(NSDictionary *)parameters 方法设置录制参数。

[coreEngine setupEngineWithContext:context];
...
[coreEngine setParameters:@{kNERtcKeyRecordAudioEnabled: @YES}];
[coreEngine setParameters:@{kNERtcKeyRecordVideoEnabled: @YES}];
[coreEngine setParameters:@{kNERtcKeyRecordType: @(0)}];
[coreEngine setParameters:@{kNERtcKeyRecordHostEnabled: @NO}];
[coreEngine setParameters:params];

Windows&macOS

在初始化之后,每次加入频道前,都需要调用音视频实例的 setParameters 方法设置设置录制参数。

rtc_engine_->setParameters("{\"kNERtcKeyRecordAudioEnabled\":true}");
rtc_engine_->setParameters("{\"kNERtcKeyRecordVideoEnabled\":true}");
rtc_engine_->setParameters("{\"kNERtcKeyRecordType\":type}");
rtc_engine_->setParameters("{\"kNERtcKeyRecordHostEnabled\":false}");

Web

加入频道时,通过 joinChannelRecordConfig 设置录制参数。

rtc.client.join({
    channelName: '房间名称',
    uid: uid, 
    token: token,
    joinChannelRecordConfig:{
        isHostSpeaker:false,
        recordAudio:true,
        recordVideo:true,
        recordType:0

    }
}).then((obj) => {
    console.info('加入房间成功...')
})
×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。