百家云 SDK 支持直播内容的本地录制功能。相关函数接口在 electron-sdk 2.0.7 及以上版本支持。
在直播开始后, SDK 支持通过接口 startRecord 启动本地录制,需要指定录制的文件名和是否录制音频。
this.client.on('record-error', msg => { console.log(`\n 录制异常, ${msg} , event: record-error`) // 添加录制异常处理逻辑 }) startRecord() { const time = new Date() let timeYear = time.getFullYear() let timeMonth = time.getMonth() + 1 > 9 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1) let timeDay = time.getDate() > 9 ? time.getDate() : '0' + time.getDate() let timeHour = time.getHours() > 9 ? time.getHours() : '0' + time.getHours() let timeMin = time.getMinutes() > 9 ? time.getMinutes() : '0' + time.getMinutes() let timeSec = time.getSeconds() > 9 ? time.getSeconds() : '0' + time.getSeconds() this.fileName = timeYear + timeMonth + timeDay + timeHour + timeMin + timeSec + '.mp4' this.client.startRecord(this.fileName, true) }
在直播结束时,调用 stopRecord 函数停止本地录制。
this.client.stopRecord()
transcode() { const input = 'input_test_1080p_h264_2000kps.mp4' const output = 'output_test_720p_h264_800kbps.mp4' const ffmpeg = 'ffmpeg' this.client.transcode(input, output, ffmpeg).then(() => { fs.exists(output, function (exists) { if (exists) { this.$message({ type: 'info', message: '转码成功' }) } else { this.$message({ type: 'warning', message: '转码失败' }) } }); }) },
本地录制
百家云 SDK 支持直播内容的本地录制功能。
相关函数接口在 electron-sdk 2.0.7 及以上版本支持。
开始录制
在直播开始后, SDK 支持通过接口 startRecord 启动本地录制,需要指定录制的文件名和是否录制音频。
停止录制
在直播结束时,调用 stopRecord 函数停止本地录制。
文件转码