录制相关

本章节着重介绍实时音视频有关录制的内容。网易云实时音视频提供服务端录制客户端录制两种录制方式。

服务端录制需要您联系我们的销售,开通此功能,并且需要在管理中心中成功配置消息抄送服务。实时音视频服务端录制目前仅支持点对点音视频通话。假设A和B进行实时音视频通话,服务端录制下来的文件包括:A的纯音频文件(.aac)A的音视频文件(.mp4)B的纯音频文件(.aac)B的音视频文件(.mp4)。如果是纯音频通话,则没有相应的音视频文件,如果您开通了服务端混合录制,则还会生成一个A和B的混合音视频文件(.mp4)。这些录制文件的地址在音视频通话结束之后会通过抄送服务抄送到您的服务器。

客户端录制支持录制单个通话者的音视频文件和录制通话的混合录音。

服务端录制

// 发起通话请求
netcall.call({
  type: Netcall.NETCALL_TYPE_VIDEO,
  account: 'testAccount',
  webrtcEnable: true,
  pushConfig: {},
  sessionConfig:{
    ...
    recordVideo: true,
    recordAudio: true
  }
})

// 响应通话请求
netcall.response({
  accepted: true,
  beCalledInfo: beCalledInfo,
  sessionConfig: {
    ...
    recordVideo: true,
    recordAudio: true
  }
})

其他参数已经在最上面发起通话章节介绍过了,不再重复介绍,这里只介绍和录制相关的两个参数

param参数属性 类型 说明
recordVideo bool 是否开启视频录制,默认不开
recordAudio bool 是否开启音频录制,默认不开

客户端录制(PC Agent)

SDK提供客户端录制功能,可以通过下面的一系列方法进行音视频的录制

开始单人视频录制

netcall.startRecordMp4({
  account: 'testAccount',
  path: 'E:/test.mp4'
}).then(function(obj) {
  console.log('startRecordMp4 通知下发为正式录制', obj)
})
参数名 类型 说明
account string 录制的目标账号,不传或者为空时,默认录制自己
path string 录制的音视频保存路径

停止单人视频录制

netcall.stopRecordMp4({
  account: 'testAccount'
}).then(function(obj) {
  console.log('stopRecordMp4 通知下发为录制结束', obj)
})
参数名 类型 说明
account string 录制的目标账号,不传或者为空时,默认录制自己

开始混音录制

netcall.startRecordAac({
  path: 'E:/test.mp4'
}).then(function(obj) {
  console.log('startRecordAac 通知下发为正式录制', obj)
})
参数名 类型 说明
path string 录制的音视频保存路径

停止混音录制

netcall.stopRecordAac().then(function(obj) {
  console.log('stopRecordAac 通知下发为录制结束', obj)
})

客户端录制(WebRTC)

SDK提供客户端录制功能,可以通过下面的一系列方法进行音视频的录制

开始单人视频录制

netcall.startRecordMp4({
  account: 'testAccount'
}).then(function(obj) {
  console.log('startRecordMp4 通知下发为正式录制', obj)
})
参数名 类型 说明
account string 录制的目标账号,不传或者为空时,默认录制自己

停止单人视频录制

netcall.stopRecordMp4().then(function(obj) {
  console.log('stopRecordMp4 通知下发为录制结束', obj)
})

开始混音录制

netcall.startRecordAac().then(function(obj) {
  console.log('startRecordAac 通知下发为正式录制', obj)
})

停止混音录制

netcall.stopRecordAac().then(function(obj) {
  console.log('stopRecordAac 通知下发为录制结束', obj)
})