云端录制
功能简介: 在服务器上对房间内的音视频、白板、屏幕共享等通讯内容进行录制,支持自定义录制内容和布局,录制文件在服务器保存,可以通过WEB API下载和删除。
1.开始云端录制
- 调用接口:
//配置1号混图器,录制尺寸640*360,帧率为8
string mutiMixerCfgs = "[{\
\"id\": "1",\
\"cfg\": {\"width\":640,\"height\":360,\"frameRate\":8}}\
]";
//配置1号混图器内容: 左右布局(示例图如下),左边为user1的1号摄像头, 右边为user2的1号摄像头
string mutiMixerContents = "[{\
\"id\":\"1\",\
\"content\": [\
{\"type\":0,\"keepAspectRatio\":1,\"left\":0,\"top\":90,\"width\":320,\"height\":180,\"param\":{\"camid\":\"usr1.1\"}},\
{\"type\":0,\"keepAspectRatio\":1,\"left\":320,\"top\":90,\"width\":320,\"height\":180,\"param\":{\"camid\":\"usr2.1\"}}]\
}]";
//配置1号混图器输出到:a.mp4
string mutiMixerOutputs = "[{\
\"id\": "1",\
\"output\": [{\
\"type\":0,\
\"filename\":\"a.mp4\"}]\
}]";
int rst = axVideoSDK.startSvrMixer(mutiMixerCfgs, mutiMixerContents, mutiMixerOutputs);
if(rst != 0){
//开启 云端录制 出错
...
}
相关API请参考:
左右布局示例图:
- 回调通知:
//云端录制状态变化通知
void Meeting_svrMixerStateChanged(object sender, ICloudroomVideoMeetingEvents_svrMixerStateChangedEvent e)
{
Console.WriteLine("server record state cahnged: " + e.p_state);
//状态处理
...
}
相关API请参考:
2.云端录制文件信息变化通知
录制过程中都会触发此事件。在此可以实时获得录制状态、录制文件当前的时长、大小,以及录制异常等信息。
- 回调通知:
//云端录制文件信息变化通知
void Meeting_svrMixerOutputInfo(object sender, ICloudroomVideoMeetingEvents_svrMixerOutputInfoEvent e)
{
Console.WriteLine("server record state: " + obj.state);
//状态处理
}
相关API请参考:
3.更新云端录制内容
- 接口调用:
//混图器内容:画中画布局(示例图如下, 底层640*360, 上层160*90),底层为user1的1号摄像头, 上层为user2的1号摄像头
string mutiMixerContents ="[{\
\"id\": \"1\",\
\"content\": [\
{\"type\":0,\"keepAspectRatio\":1,\"left\":0,\"top\":0,\"width\":640,\"height\":360,\"param\":{\"camid\":\"usr1.1\"}},\
{\"type\":0,\"keepAspectRatio\":1,\"left\":475,\"top\":265,\"width\":160,\"height\":90,\"param\":{\"camid\":\"usr2.1\"}}]}\
]";
axVideoSDK.updateSvrMixerContent(mutiMixerContents);
(2)画中画布局示例图:
相关API请参考:
4.获取云端录制状态
- 接口调用:
//获取云端录制状态
MIXER_STATE state = axVideoSDK.getSvrMixerState();
相关API请参考:
5.停止云端录制
停止云端录制后,也会触发事件svrMixerStateChanged
- 接口调用:
axVideoSDK.stopSvrMixer();
相关API请参考: