服务器录制
服务器录制服务将客户端发送的白板及语音数据在服务端录制,方便开发者做回放等相关开发。该功能需要开通以后才能使用。
点对点白板服务器录制信息回调
- API介绍
点对点互动白板中,主叫和被叫在 option
中 设置 serverRecordData
或 serverRecordAudio
参数后,通过该回调获取服务端录制信息。
- API原型
@protocol NIMRTSManagerDelegate <NSObject>
/**
* 白板录制信息
*
* @param info 录制信息
* @param sessionID 白板会话ID
*/
- (void)onRTSRecordingInfo:(NIMRTSRecordingInfo *)info
forSession:(NSString *)sessionID;
@end
- 参数说明
API 接口参数:
参数 | 类型 | 说明 |
---|---|---|
info | NIMRTSRecordingInfo | 服务端录制信息 |
sessionID | NSString | 白板会话 ID |
info 参数说明:
参数 | 类型 | 说明 |
---|---|---|
service | NIMRTSService | 录制文件的服务类型,通过该参数区分是白板话数据还是语音数据 |
recordFileName | NSString | 录制存储文件名 |
- 示例
- (void)onRTSRecordingInfo:(NIMRTSRecordingInfo *)info
forSession:(NSString *)sessionID
{
NSLog(@"Server record info: session %@, service %@, name %@" , sessionID, (info.service == NIMRTSServiceReliableTransfer) ? @"白板" : @"语音", info.recordFileName);
}
多人白板服务器录制信息
多人互动白板中,在加入时设置 conference
的 serverRecording
参数,通过加入回调获取录制相关信息。
- API原型
@protocol NIMRTSConferenceManagerDelegate <NSObject>
/**
* 加入多人互动白板结果回调
*
* @param conference 加入的会话
* @param result 结果. nil 表示加入成功
*/
- (void)onJoinConference:(NIMRTSConference *)conference
result:(nullable NSError *)result;
@end
- 参数说明
参数 | 类型 | 说明 |
---|---|---|
conference | NIMRTSConference | 回调对应的多人白板会话 |
result | NSError | 加入多人互动白板的结果。nil 表示加入成功 |
conference 中与服务端录制相关的参数:
参数 | 类型 | 说明 |
---|---|---|
name | NSString | 多人互动白板名称。相同的名称只在会话使用完以后才可以重复使用, 开发者需要保证不会出现重复预订某会话名称而不使用的情况 |
channelID | UInt64 | 多人互动直播会话对应的当前频道号, 在成功加入会话以后可以在回调的 conference 中读取到 |
serverRecordName | NSString | 服务器录制文件名, 在成功加入会话以后可以在回调的 conference 中读取到 |
- 示例
//加入
- (NSError *)joinConference:(NSString *)name
{
NIMRTSConference *conference = [[NIMRTSConference alloc] init];
conference.name = name;
conference.serverRecording = YES;
__weak typeof (self) wself = self;
conference.dataHandler = ^(NIMRTSConferenceData *data) {
[wself handleReceivedData:data];
};
NSError *result = [[NIMAVChatSDK sharedSDK].rtsConferenceManager joinConference:conference];
return result;
}
//加入结果
- (void)onJoinConference:(NIMRTSConference *)conference
result:(NSError *)result
{
if (nil == result) {
NSLog(@"Conference %@ server record name %@", conference.name, conference. serverRecordName);
}
}
服务器录制文件格式
在开启了相关功能后,服务器为白板会话中的每个成员发送的所有数据录制一个单独的文件,其中写入数据的格式根据网易云通信客户端 SDK 版本的不同有所区别:
- 3.2.0 之前版本
用户发送的数据包直接被写入文件,不包含任何数据包头
- 3.2.0 之后版本
用户发送每一个数据包前增加包头(包长字段和时间戳字段)后再写入录制文件,每一个写入文件的包格式如下:
| 包长 | 时间戳 | 数据 |
包长:4字节,写入文件的整个包的字节长度,包含包长和时间戳字段的长度
时间戳:4字节,从会话开始到服务器收到该数据经历的相对时间,单位是毫秒
数据:客户端调用 SDK 发送的白板会话数据
本篇文档内容是否对您有帮助?
有帮助
我要吐槽
此文档对你是否有帮助
×
有帮助
我要吐槽
×