录制

本章节着重介绍实时音视频有关录制的内容。网易云实时音视频Linux sdk提供服务端录制方式。 服务端录制需要您联系我们的销售,开通此功能,并且需要在管理中心中成功配置消息抄送服务。实时音视频服务端录制目前仅支持点对点音视频通话。假设A和B进行实时音视频通话,服务端录制下来的文件包括:A的纯音频文件(.aac)、A的音视频文件(.mp4)、B的纯音频文件(.aac)、B的音视频文件(.mp4)。如果是纯音频通话,则没有相应的音视频文件,如果您开通了服务端混合录制,则还会生成一个A和B的混合音视频文件(.mp4)。这些录制文件的地址在音视频通话结束之后会通过抄送服务抄送到您的服务器。

服务端录制

服务器录制信息回调

API介绍

当通话连接成功后,在连接成功信息中会带有指定的音视频文件名。如果服务器有录制,会录制该文件。

API原型

public delegate void onSessionConnectNotifyHandler(long channel_id, int code,string record_file,string video_record_file,long chat_time, ulong chat_rx, ulong chat_tx);

File:NIMVChatDef.cs

参数说明
参数 类型 说明
channel_id long 频道id
code int 结果状态,200代表连接成功
record_file string 录制音频文件名(服务器开启录制时有效)
video_revord_file 录制视频文件名(服务器开启录制时有效)
chat_time long 通话本地时长,code为1001有效
chat_rx ulong 下行数据量 code为1001有效
chat_tx ulong 上行数据量 code 为1001有效
示例
void NIMVChatRequest(bool audio,string account)
{
        NIMVChatInfo info = new NIMVChatInfo();
        info.Uids.Add(account);
        info.KeepCalling = 1;
        info.ServerAudioRecord = 1;//开启服务端音频录制
        info.CustomAudio =  0;
        /*目前只有音频通话*/
        VChatAPI.Start(NIMVideoChatMode.kNIMVideoChatModeAudio, "Untiy Demo", info);
}
特殊说明

客户端录制

音频文件开始录制

API介绍

开始录制音频文件,一次只允许一个音频录制文件

API原型

public static void StartAudioRecord(string path, NIMVChatAudioRecordOptHandler cb);

File:NIMVChatAPI.cs

参数说明
参数 类型 说明
path string 暂时无效
cb NIMVChatAudioRecordOptHandler 结果回调
示例
 NIMVChatAudioRecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
 {

 };
 VChatAPI.StartAudioRecord("", cb);
特殊说明

音频文件结束录制

API介绍

停止录制音频文件

API原型

public static void StopAudioRecord(NIMVChatAudioRecordOptHandler cb);

File:NIMVChatAPI.cs

参数说明
参数 类型 说明
cb NIMVChatAudioRecordOptHandler 结果回调
示例
 NIMVChatAudioRecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
 {

 };
 VChatAPI.StopAudioRecord( cb);
特殊说明

MP4文件开始录制

API介绍

开始录制MP4,同一个成员一次只允许一个MP4录制文件,在通话开始的时候才有实际数据

API原型

public static void StartRecord(string path, NIMVChatMP4RecordJsonEx recordInfo, NIMVChatMp4RecordOptHandler cb);

File:NIMVChatAPI.cs

参数说明
参数 类型 说明
path string 无效参数
recordInfo NIMVChatMP4RecordJsonEx json扩展封装类,见NIMVChatMP4RecordJsonEx
cb NIMVChatMp4RecordOptHandler 结果回调
示例
 NIMVChatMp4RecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
 {

 };
 VChatAPI.StartRecord("", json, cb);
特殊说明

MP4文件结束录制

API介绍

停止录制MP4

API原型

public static void StopRecord(NIMVChatMP4RecordJsonEx recordInfo, NIMVChatMp4RecordOptHandler cb);

File:NIMVChatAPI.cs

参数说明
参数 类型 说明
recordInfo recordInfo json扩展封装类,见NIMVChatMP4RecordJsonEx
cb NIMVChatMp4RecordOptHandler 结果回调
示例
 NIMVChatMp4RecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
 {

 };
 VChatAPI.StartRecord("", json, cb);
特殊说明