You need to enable JavaScript to run this app.
导航

开启本地服务端录制

最近更新时间2023.12.13 16:13:04

首次发布时间2023.08.31 16:53:21

前提条件

开始本地服务端录制前,你需要获取有效的 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 视具体版本而定

解压得到如下文件:

2. 进入 Recorder 目录

cd Recorder

3. 开启录制任务

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

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

< > 中为你要填入的真实数据。开启录制任务的示例如:./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
  • 当你需要指定生成 mp4 文件名格式时,你可以参考以下示例:
./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -fileNamePattern {Type}_{UserId}_{StartTime}
  • 当你需要指定录制文件存放路径时,你可以参考以下示例:
./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -cfgFilePath cfg.txt

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

  • 当你需要指定空闲超时时间时,你可以参考以下示例:
./recorder -appID AppId11  -token 00114+= -roomID room12  -uid uid12 -volcEngineRTCDir /opt/download/Recorder/bin -idle 360

4. 结束录制任务

kill -INT <pid> # pid 表示 recorder 的进程号

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

5. 生成录制文件

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

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

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

  • lr_web_uid_xx.data: 录制生成的临时文件

  • C-lr_web_uid-1691464986946.mp4:执行拼接命令后得到的最终mp4文件

  • C-lr_web_uid-1691464986946.json:拼接相应C-lr_web_uid-1691464986946.mp4需要的配置文件,如果有多个mp4文件,则会有多个对应json文件

  • VolcEngineRTC.INFO:录制时,子进程VolcEngineRTC日志文件

  • Concat_C-lr_web_uid-1691464986946.INFO:拼接时,子进程VolcEngineRTC日志文件

  • 其余``xxx.json: 必要的辅助配置文件

  • record.log、:录制时父进程recorder日志

  • convert.log:拼接时父进程recorder日志

  • 其余 .log文件:辅助日志文件

  • UserVideoDirForConcatOflr_web_uid:临时录制文件