迁移指南

  • C++

更新时间不可用

查看本地服务端录制的迁移指南,了解关键概念、参数说明、使用限制和接入注意事项。

声网本地服务端录制 4.x SDK 是一个新的 SDK 版本,可帮助用户在实时音视频互动过程中实现录制。

体的功能列表和适用场景可以参考产品概览。

本文介绍将 SDK 从 3.x 升级到 4.x 的主要变更。

优势介绍

录制 4.x SDK 基于最新的 RTC 4.x SDK 开发,在网络协议、弱网对抗、Codec 支持等方面有更好的兼容性。具体表现在:

  • 支持最新版的云代理
  • 支持声网最新的网络协议,有更好的弱网对抗和弱网反馈能力,和新版的 RTC SDK 也能更好地兼容
  • 支持订阅对端 H265 等码流,对更多的视频 Codec 有更好的兼容性
  • 由于底层使用了同一个版本的 RTC 引擎,后续的维护升级也更加便利

功能差距

录制 4.x SDK 的产品定位是一个可供开发者进行开发的 SDK,而非一个云端服务或者云端服务的 aPaaS 版本用于直接部署,因此不提供云容器部署的集成方式。

行为变更

相比老版本的录制 SDK,录制 4.x 版本不会负责多进程管理、崩溃拉起等后台服务的功能。你需要自行实现多进程管理、服务容灾等功能的开发构建。

核心 API 变更

方法

功能模块录制 4.x API老版本 API
创建并初始化录制实例
  • createAgoraService
  • IAgoraService::initialize
  • createAgoraMediaComponentFactory
  • createMediaRtcRecorder
  • IAgoraMediaRtcRecorder::initialize
createAgoraRecordingEngine
加入频道joinChannel 如果开启了 String UID 功能,调用 joinChannel 时可以直接使用 String UID 进行传参,无需额外调用其它 API。
  • joinChannel
  • joinChannelWithUserAccount
  • getUserInfoByUserAccount
  • getUserInfoByUid
实现订阅逻辑
  • subscribeAllAudio
  • unsubscribeAllAudio
  • subscribeAllVideo
  • unsubscribeAllVideo
  • subscribeAudio
  • unsubscribeAudio
  • subscribeVideo
  • unsunscribeVideo

joinChannel 方法中 RecordingConfig 对象的如下字段:

  • autoSubscribe
  • subscribeVideoUids
  • subscribeAudioUids
开始或停止录制

单流录制:

  • startSingleRecordingByUid
  • stopSingleRecordingByUid
  • setRecorderConfigByUid

合流录制:

  • startRecording
  • stopRecording
  • setRecordingConfig

搭配 initialize 中 enable_mix 参数的设置使用。

单流/合流录制

  • startService
  • stopService

搭配 RecordingConfig 中 isMixingEnabled 参数的设置使用。

水印
  • enableAndUpdateVideoWatermarks
  • disableVideoWatermarks
  • enableAndUpdateVideoWatermarksByUid
  • disableVideoWatermarksByUid
  • VideoMixingLayout 中的 wm_num 和 wm_configs 参数
  • updateWatermarkConfigs
表格内容超出当前宽度,可横向滚动查看更多列。

回调

功能模块录制 4.x API老版本 API
本地用户加入频道回调onConnectedonJoinChannelSuccess
本地用户离开频道回调onDisconnectedonLeaveChannel
本地用户重连后加入频道回调onReconnectedonRejoinChannelSuccess
远端用户离开频道回调onUserLeftonUserOffline
收到远端音频首帧回调onFirstRemoteAudioDecodedonFirstRemoteAudioFrame
远端用户音频状态发生改变回调onUserAudioStateChangedonRemoteAudioStreamStateChanged
远端用户视频状态发生改变回调onUserVideoStateChangedonRemoteVideoStreamStateChanged
表格内容超出当前宽度,可横向滚动查看更多列。