WilddogRoom SDK 提供服务端视频录制功能。使用视频录制 API 保存通话内容为 .mp4 格式文件。
开启视频录制
使用 startRecording 方法开启视频录制。
room.startRecording(new RecordingListener() { @Override public void onComplete(String s, WilddogVideoError wilddogVideoError) { } });
|
录制布局
开启录制前,可以使用默认录制布局(日字格,田字格,或者九宫格),也可以自定义设置录制布局,具体如下
Map options = new HashMap();
options.put(RecordOptionKeys.FPS,10); options.put(RecordOptionKeys.BITRATE,100); options.put(RecordOptionKeys.CANVAS_WIDTH,1000); options.put(RecordOptionKeys.CANVAS_HEIGHT,1000); options.put(RecordOptionKeys.BACKGROUD_COLOR,16725815); Map streams = new HashMap(); Map stream = new HashMap();
stream.put(RecordOptionKeys.STREAM_LEFT,0); stream.put(RecordOptionKeys.STREAM_TOP,0); stream.put(RecordOptionKeys.STREAM_WIDTH,100); stream.put(RecordOptionKeys.STREAM_HEIGHT,100); stream.put(RecordOptionKeys.STREAM_ZORDER,254); streams.put(localStream.getStreamId(),stream);
options.put(RecordOptionKeys.STREAMS,streams); room.startRecording(options,new RecordingListener() { @Override public void onComplete(String s, WilddogVideoError wilddogVideoError) { } });
|
| 选项 |
类型 |
说明 |
示例 |
| RecordOptionKeys.FPS |
int |
视频帧率(fps) |
15 |
| RecordOptionKeys.BITRATE |
int |
比特率(bps) |
100 |
| RecordOptionKeys.CANVAS_WIDTH |
int |
视频宽度(<=1920) |
960 |
| RecordOptionKeys.CANVAS_HEIGHT |
int |
视频高度(<=1080) |
640 |
| RecordOptionKeys.BACKGROUD_COLOR |
int |
背景颜色的十六进制码(argb) |
0x00ffffff |
| RecordOptionKeys.STREAMS |
Map |
媒体流布局 |
streams |
录制每个流的参数配置:
| 选项 |
类型 |
说明 |
示例 |
| RecordOptionKeys.STREAM_LEFT |
int |
此路视频流相对左侧坐标 |
0 |
| RRecordOptionKeys.STREAM_TOP |
int |
此路视频流相对顶部坐标 |
0 |
| RecordOptionKeys.STREAM_WIDTH |
int |
此路视频宽度 |
100 |
| RecordOptionKeys.STREAM_HEIGHT |
int |
此路视频高度 |
150 |
| RecordOptionKeys.STREAM_ZORDER |
int |
此路视频流绘制优先级,从小到大绘制(0-255) |
8 |
结束视频录制
使用 stopRecording 方法结束视频录制。
room.stopRecording(new RecordingListener() { @Override public void onComplete(String s, WilddogVideoError wilddogVideoError) { } });
|