前置条件

开始本地服务端录制前,你需要获取有效的 AppId。关于在控制台获取 AppId,参看获取 AppId。

操作步骤

假定将程序包文件放到 /opt/download/local_record 目录下。

1. 解压程序包
cd /opt/download/local_record
tar -zxvf bytertc.server.local_record_1.0.0.50.tar.gz   #版本号 1.0.0.50 视具体版本而定
cpp

解压得到如下文件:

2. 进入 Recorder 目录
cd Recorder
cpp
3. 开启录制任务

录制生成的 mp4 文件名格式为 {Type}_{UserId}_{StartTime}

./recorder -appID <app_id>  -token <token> -roomID <room_id>  -uid <uid> -volcEngineRTCDir <bin_dir>
cpp

< > 中为你要填入的真实数据。开启录制任务的示例如:./recorder -appID AppId11 -token 00114+= -roomID room12 -uid uid12 -volcEngineRTCDir /opt/download/``local_record/``Recorder/bin

参数名描述
appID你在控制台获取的 AppID
roomID录制房间 ID
token录制流所属房间的鉴权Token
uid录制流所属的用户 ID, 房间内须保持唯一
volcEngineRTCDir指定录制子程序 VolcEngineRTC 所在路径

除上述必填参数外,服务端还提供可选参数以进行自定义配置。
执行 ./recorder --help 或 ./recorder -h即可查看全部的自定义配置参数。你也可以参考下表进行自行设置
可选命令行附加参数如下:

参数描述
audioBitrate录制摄像头流的音频码率,单位为 kbps 或 bps,默认值为 64kbps
screenAudioBitrate录制屏幕流的音频码率,单位为 kbps 或 bps,默认值为 64kbps
screenVideoBitrate录制屏幕流的视频码率,取值范围为 [1,10000],单位为 kbps 或 bps,默认值为 1 kbps
screenFps录制屏幕流的帧率,取值范围为 [1,30],默认值为 15
videoBitrate录制摄像头流的视频码率,取值范围为 [1,10000],单位为 kbps 或 bps,默认值为 1 kbps
videoFps录制摄像头流的帧率,取值范围为 [1,30],默认值为 15
cfgFilePath配置文件,指定录制文件存放路径。若未指定存储路径,会在当前路径下自动生成格式为"YYYYMMDD"目录。配置文件需提前创建,文件格式为 txt。文件内容为{"Recording_Dir" : "xrecorder"} 其中 #xrecorder 为你指定的存放路径。同一天内不同时间启动的录制任务,子文件夹命名格式为 {RoomId_StartTime}。
idle录制任务的空闲超时时间,超过此时间后,任务自动终止,单位为秒。取值范围为 [10, 86400], 默认值为 180。
./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -audioBitrate 64kbps -screenAudioBitrate 128kbps -screenVideoBitrate 1700kbps -screenFps 15 -videoBitrate 1500kbps  -videoFps 15
cpp
./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -fileNamePattern {Type}_{UserId}_{StartTime}
cpp
./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -cfgFilePath cfg.txt
cpp

其中cfg.txt文件内容为:{"Recording_Dir" : "xrecorder"},xrecorder为指定的日志和录制文件保存路径

./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -idle 360
cpp
4. 结束录制任务
kill -INT <pid> # pid 表示 recorder 的进程号
shell

进程号可通过 ps -ef | grep recorder 命令查看

5. 拼接录制文件

录制过程中每个用户会生成临时的 .data 文件,你可以使用 convert 命令将每个用户 .data文件拼接成 mp4 文件

./recorder -convert <Dir> #录制文件存放路径
cpp

如:./recorder -convert 20230712/test_room_152618_065905405
最终生成文件如下: