本地服务端录制 SDK 支持录制房间内的单条音视频流,集成 SDK 后,即可开始使用 SDK 的单流录制功能。
ga01596a1c8 之前的 ZEGO 本地服务端录制 SDK 版本(2022-03-23 之前发布)需要在 ZEGO 控制台 申请有效的 AppID,并联系 ZEGO 技术支持获取 AppSign。若您需要升级鉴权方式,可参考 如何从 AppSign 鉴权升级为 Token 鉴权。
在初始化之前需要先继承实现 ICallback,并设置回调监听。
接口原型:
ZEGO_API bool SetCallback(ICallback* pCB)
参数:
pCB
:回调对象指针。
备注:
在初始化 SDK 前可以根据需要调用如下接口:
SetLogDirAndSize 设置日志文件路径和大小
调用 InitSDK 接口初始化 SDK,将申请到的 AppID 传入参数 “uiAppID”。
接口原型:
ZEGO_API bool InitSDK(unsigned int uiAppID)
参数:
uiAppID
:ZEGO 派发的数字 ID,各个开发者的唯一标识。
异步回调接口:
class ICallback
{
public:
virtual void OnInitSDK(int errorCode) {}
}
errorCode == 0 表示初始化成功。
在登录房间之前调用 SetCustomToken 接口将 Token 传入 SDK。
接口原型:
ZEGO_API void SetCustomToken(const char *thirdPartyToken)
参数:
thirdPartyToken
:鉴权 Token。
录制之前需要先登录房间。
接口原型:
ZEGO_API bool LoginRoom(const char* pszRoomID)
参数:
pszRoomID
:房间 ID,正在推流的房间的 ID。
异步回调接口:
class ICallback
{
public:
virtual void OnLoginRoom(int errorCode, const char *pszRoomID) = 0;
}
接口原型:
ZEGO_API bool StartRecordSingleStream(const char* pszStreamID, const char *pszPathAndName, MuxerStreamType nMuxerStreamType = MuxerStreamTypeBoth, int nFragmentSeconds = 2)
参数:
pszStreamID:待录制的流 ID。
pszPathAndName:录制文件全路径(包括文件名),且必须以 .mp4、.m3u8、.flv、.mp3、.aac 结尾(其中 .mp3 和 .aac 只支持录制纯音频),SDK 内部会自动创建对应路径,若有相同的文件会直接覆盖原文件。
nMuxerStreamType:录制流类型,请参考 MuxerStreamType,默认录制音视频。
nFragmentSeconds:录制文件分片间隔(0~10s),0表示不分片,大于0表示分片;默认间隔为2s。进行分片能保证录制发生异常中断等问题时,已保存的录制文件可以正常播放;注意,这儿的分片是 SDK 内部处理录制文件的一个逻辑概念,而不是将录制文件按间隔时间分成多个小文件存储。
异步回调接口:
class ICallback
{
public:
virtual void OnStreamRecordBegin(const char* pszStreamID, const char *pszPathAndName) = 0;
}
录制启动成功会收到录制开始的回调。
接口原型:
ZEGO_API bool StopRecordSingleStream(const char* pszStreamID)
参数:
pszStreamID:流 ID。
异步回调接口:
class ICallback
{
public:
virtual void OnStreamRecordEnd(const char* pszStreamID, const char *pszPathAndName, RecordEndReason reason) = 0;
}
备注:
建议在不需要再录制的时候,做以下处理:
LIVEROOM::SetCallback(nullptr);
去掉回调监听。方法 | 描述 |
---|---|
SetCallback | 设置回调监听 |
InitSDK | 初始化 SDK |
LoginRoom | 登录房间 |
GetMaxRecordCount | 获取 SDK 支持的最大同时录制流数 |
StartRecordSingleStream | 开始单流录制 |
StopRecordSingleStream | 停止单流录制 |
SetMuxerOutType | 设置录制数据输出方式 |
SetLogDirAndSize | 设置 SDK log 路径和单个 log 文件大小 |
SetConfig | 设置配置信息 |
SetMuxerCacheSize | 设置文件落地前的缓存大小(64KB~1MB) |
GetSDKVersion | 获取 SDK 版本 |
UploadLog | 上传 log 文件到 ZEGO 后台 |
UnInitSDK | 反初始化 SDK |
LogoutRoom | 退出房间 |
联系我们
文档反馈