服务器录像开发指南

    简介

    融云音视频服务器端录像服务支持:

    • 录制一个音视频通讯内所有参与者的语音和视频内容
    • 同时录制多个音视频通讯内所有参与者的语音和视频内容
    • 同时录制一个或多个音视频通讯内所有参与者的纯语音内容
    • 支持会场中途录像,会场进行中开启、停止录制
    • 支持 1000 人会议模式的录制

    开通方式

    在融云开发者平台,实时音视频服务中开启服务端录像功能。

    SDK 版本支持

    会议模式 RTCLib SDK 所有版本都支持服务端录像功能,通话模式的 CallLib、CallKit SDK 支持版本信息如下:

    CallLib SDK

    • Android CallLib SDK 2.9.0 及以上版本
    • iOS CallLib SDK 2.9.0 及以上版本
    • Web CallLib SDK 3.0.0 及以上版本

    CallKit SDK

    • Android CallKit SDK 2.9.0 及以上版本
    • iOS CallKit SDK 2.9.0 及以上版本

    录制架构

    image

    为满足客户个性化的存储及处理性能的需要,服务器录像方案采用客户自备 Linux 录像服务器,部署录像服务程序的方案进行实现。要求如下:

    环境要求

    系统

    • SUSE Linux Enterprise Server 11 sp3 及以上
    • RHEL/CentOS 6.5 及以上
    • Ubuntu 14.04 及以上

    网络

    带宽

    • 根据录制的媒体流数量和分辨率决定。

      例如:一个 640×480 视频媒体流需要的带宽为 500kbps,每个二人会议两个媒体流,50 个会议 100 个视频流则需要 100mbps 带宽。

    硬件配置

    • 每个会议的内存消耗约为 100M
    • 10 分钟视频文件大小为 30M,音频文件为 5M
    • 主要瓶颈在于 CPU,处理器i7 4790(4 核 8 线程) 同时能支持的会话数量
    mix 模式 simple 模式
    2 人 640×480,帧率 15,单路码流 500kbps 8 12

    快速 Demo 集成

    自定义开发

    用户可以参照 Demo 的源码,根据会场变动信息选择录制的开始时间、结束时间、录制模式

    录像流程

    1. AppServer 集成会场同步能力获取当前的音视频会话信息
    2. AppServer 调用 Recorder 程序,并将 channelid 等通过命令行参数传入
    3. Recorder 连接流媒体服务器,进行录像

    录制模式

    • mix 模式:

      整个会议录制成一个文件

      默认样式为第一个加入者为大屏,后加入者为小屏显示在左上角

      文件名为:会议id_时间戳.mkv

    • simple 模式:

      每个道媒体流生成一个文件。(一个二人会议会生成 4 个文件,2 纯音频+2 纯视频)

      文件夹:会议id_开始时间

      视频文件:用户id_时间戳.mkv

      音频文件:用户id_时间戳.aac

    录像程序参数

    • -h 流媒体服务器地址
    • -p 流媒体服务器端口
    • -a appkey
    • -c channelid 房间号
    • -o 录像文件存储目录
    • -m 启动 mix 录像模式
    • -k uniquekey 用于身份认证

      服务器地址,端口,channelid,uniquekey 等信息需要通过会场同步获取

    录像程序下载

    启动录像:

    Recorder -h host -p port -a appkey -c cid -o out_dir -k uniquekey
    

    停止录像:

    kill -3 pid