title: 视频录制

WilddogRoom SDK 提供服务端视频录制功能。使用视频录制 API 保存通话内容为 .mp4 格式文件。

开启视频录制

使用 startRecording 方法开启视频录制。

  1. room.startRecording(new RecordingListener() {
  2. @Override
  3. public void onComplete(String s, WilddogVideoError wilddogVideoError) {
  4. // 录制开启后,服务端返回文件地址,如发生错误,error不为空。
  5. }
  6. });

录制布局

开启录制前,可以使用默认录制布局(日字格,田字格,或者九宫格),也可以自定义设置录制布局,具体如下

  1. Map options = new HashMap();
  2. // 设置总画布大小 录制帧率 录制码率和背景颜色
  3. options.put(RecordOptionKeys.FPS,10);
  4. options.put(RecordOptionKeys.BITRATE,100);
  5. options.put(RecordOptionKeys.CANVAS_WIDTH,1000);
  6. options.put(RecordOptionKeys.CANVAS_HEIGHT,1000);
  7. options.put(RecordOptionKeys.BACKGROUD_COLOR,16725815);
  8. Map streams = new HashMap();
  9. Map stream = new HashMap();
  10. //设置每个流的位置和 层级
  11. stream.put(RecordOptionKeys.STREAM_LEFT,0);
  12. stream.put(RecordOptionKeys.STREAM_TOP,0);
  13. stream.put(RecordOptionKeys.STREAM_WIDTH,100);
  14. stream.put(RecordOptionKeys.STREAM_HEIGHT,100);
  15. stream.put(RecordOptionKeys.STREAM_ZORDER,254);
  16. streams.put(localStream.getStreamId(),stream);
  17. options.put(RecordOptionKeys.STREAMS,streams);
  18. room.startRecording(options,new RecordingListener() {
  19. @Override
  20. public void onComplete(String s, WilddogVideoError wilddogVideoError) {
  21. // 录制开启后,服务端返回文件地址,如发生错误,error不为空。
  22. }
  23. });
选项 类型 说明 示例
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 方法结束视频录制。

  1. room.stopRecording(new RecordingListener() {
  2. @Override
  3. public void onComplete(String s, WilddogVideoError wilddogVideoError) {
  4. // 录制结束后,如发生错误,error不为空。
  5. }
  6. });