


本地服务端录制 SDK 支持录制房间内的单条音视频流,集成 SDK 后,即可开始使用 SDK 的单流录制功能。
在初始化之前需要先继承实现 ICallback
,并设置回调监听。
接口原型:
ZEGO_API bool SetCallback(ICallback* pCB)
参数:
pCB
:回调对象指针。
备注:
在初始化 SDK 前可以根据需要调用如下接口:
SetLogDirAndSize 设置日志文件路径和大小
SetUseTestEnv 设置是否使用测试环境
使用获取的 ZEGO AppID、AppSign 来初始化 SDK,不初始化 SDK 将导致 SDK 相关功能异常。若没有 AppID、AppSign,请在 即构管理控制台 申请;如何申请请查看 获取 AppID 和 AppSign 指引
接口原型:
ZEGO_API bool InitSDK(unsigned int uiAppID, unsigned char* pBufAppSignature, int nSignatureSize)
参数:
uiAppID
:ZEGO 派发的数字 ID,各个开发者的唯一标识。
pBufAppSignature
:ZEGO 派发的签名,用来校验对应 AppID 的合法性。
nSignatureSize
:签名长度(字节)
异步回调接口:
class ICallback
{
public:
virtual void OnInitSDK(int errorCode) {}
}
errorCode == 0 表示初始化成功。
在初始化成功之后,录制之前需要先登录房间。
接口原型:
ZEGO_API bool LoginRoom(const char* pszRoomID)
参数:
pszRoomID
:房间 ID,正在推流的房间的 ID。
异步回调接口:
class ICallback
{
public:
virtual void OnLoginRoom(int errorCode, const char *pszRoomID) = 0;
}
- 此接口必须在初始化成功后调用。
- 建议在登录房间后并收到 OnStreamUpdate 流信息更新回调后,根据增加流信息来开启录制。
- 可在开始录制之前调用 GetMaxRecordCount 获取 SDK 支持的最大同时录制流数,根据其值处理同时录制的流数量。
接口原型:
ZEGO_API bool StartRecordSingleStream(const char* pszStreamID, const char *pszPathAndName, MuxerStreamType nMuxerStreamType = MuxerStreamTypeBoth, int nFragmentSeconds = 2)
参数:
pszStreamID
:待录制的流 ID。
pszPathAndName
:录制文件全路径(包括文件名),且必须以 .mp4 结尾,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);
去掉回调监听。方法 | 描述 |
---|---|
SetUseTestEnv | 设置是否使用测试环境,开发阶段可使用测试环境测试 |
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 | 退出房间 |
免费试用
联系我们