亲,非常高兴的告诉您,从AnyChat r4115版本开始,我们开放了录像服务器SDK接口(AnyChat Record Server SDK)。

录像服务器SDK支持的平台包括Windows、Linux(x86、x64),支持的开发语言有C++、Java,示例代码位于SDK的src\recordserver目录下。
AnyChat Record Server SDK是服务器端SDK,用于上层应用实现特定的服务器录制功能。通过SDK接口可以获取到每个用户的视频、语音、通信数据,由上层应用自己写入文件。

录像服务器SDK的工作原理是:

一、录像服务器启动:调用API:BRRS_InitSDK(0);之后,录像服务器主动与核心服务器建立连接,连接成功之后,将会触发录像服务器的回调事件:BRRS_OnServerAppMessage_CallBack;录像服务器读当前目录下的配置文件AnyChatRecordServer.ini,配置文件会指明核心服务器的IP地址、端口信息;录像服务器与核心服务器连接成功之后,业务服务器也将收到相关的事件通知;

二、录像任务的下达:
1、客户端下达录像指令:调用API接口:BRAC_StreamRecordCtrl(dwUserId, TRUE,dwFlags, 0),其中dwFlags参数增加标志:BRAC_RECORD_FLAGS_SERVER;
2、或是业务服务器下达录像指令:调用API接口:BRAS_StreamRecordCtrl(dwUserId, TRUE, 0, 0);

三、录像任务的执行:
1、开始录像事件:当录像服务器收到录像任务后,将产生一个回调事件:BRRS_OnRecordStart_CallBack(userid),通知上层应用录像开始,上层应用可以创建一个文件用于录像;
2、录像数据事件:当录像服务器收到语音、视频、通信数据之后,将重复的产生回调事件:BRRS_OnRecordBuffer_CallBack(userid, buf),通知上层有录像数据,上层应用可以将这些数据写入到文件中;

四、录像任务的停止:
1、客户端下达停止指令:调用API接口:BRAC_StreamRecordCtrl(dwUserId, FALSE, 0, 0),
2、或是业务服务器下达录像指令:调用API接口:BRAS_StreamRecordCtrl(dwUserId, FALSE, 0, 0);


五、事件回调:
1、录像停止事件:当录像服务器收到停止指令之后,将在录像服务器上产生一个回调事件:BRRS_OnRecordFinish_CallBack(userid),上层应用可以关闭文件,并将录像文件名通过事件参数反馈给录像服务器,录像服务器会将相关信息通知到业务服务器;
2、录像任务事件:当业务服务器收到录像服务器返回的录像任务相关信息之后,将在业务服务器上产生一个回调事件:BRAS_OnServerRecord_CallBack(userid, lpRecordFileName),业务服务器可以将相关的录像记录进行保存等操作;