Pano开发者中心
  • 文档中心
  • 下载中心

›RESTful API

新手入门

  • 简介
  • 名词解释
  • 账号注册指南
  • 创建第一个应用

规则说明

  • Channel ID命名规则
  • 权限控制
  • 计费说明
  • 最长通话时长说明
  • 每月一万分钟免费说明
  • 布局参数说明

场景方案

    教育行业

    • 1vN互动小班课
    • 互动直播大班课

快速接入

  • 简介
  • 音视频

    • Windows (C++)
    • Android (Java)
    • iOS (Objective-C)
    • Web
    • Electron

    白板

    • Android (Java)
    • iOS (Objective-C)
    • Web

高级功能

  • 简介
  • 音视频

    • 屏幕共享
    • 状态回调
    • 音量指示
    • 混音/伴音
    • 混响
    • 耳返
    • 美颜
    • 音视频数据回调
    • 音视频外部采集
    • 收发多路视频
    • 设备诊断
    • 反馈

    白板

    • Android (Java)
    • iOS (Objective-C)
    • Web

操作实践

  • 切换大小屏

RESTful API

  • 基本格式
  • 获取Token
  • 频道管理
  • 云端录制
  • CDN推流
  • 文档转码
  • 服务端消息通知API

SDK API

  • SDK接口说明
  • Windows (C++)
  • Android (Java)
  • iOS/macOS (Objective-C)
  • Web SDK(IE)
  • Web SDK

    • PanoRtc 参考
    • RtcEngine
    • RtcWhiteboard
    • Constants

更新记录

  • 简介
  • SDK

    • Windows
    • macOS
    • iOS
    • Android
    • Electron
    • Flutter
    • React Native
    • Web
    • Web SDK(IE)
    • Web Whiteboard

    Demo-PanoVideoCall

    • Windows、Mac和Web
    • iOS
    • Android

    Demo-PanoAudioChat

    • iOS
    • Android

帮助

  • FAQ
  • 更多帮助

云端录制

云端录制API,主要用于服务器云端录制开启,结束,更新。

开启录制

请求:

POST /recording/start
Host: api.pano.video
Content-Type: application/json
Authorization: PanoSign <PanoSign>
Tracking-Id: ef9b2acc8e1f4d598090eb6d9cbe8596

{
  "channelId":"Hello Pano",   // string, 必填, 频道ID
  "streamList": [
    {
      "streamId": 1,          // int,    必填, 用户指定的流ID
      "type": 1,              // int,    必填, 1:混录, 2:单录
      "flag": 15,             // int,    必填, 0x1: 录音频 0x2: 录视频 0x4: 录桌面共享 0x8: 录白板
      "userId": "1",          // string, 可选, 主讲人Id, 当布局为演讲者模式时需要; 单录("type": 2)时也需要
      "layout": {...},        // object, 可选, 布局参数
      "fps": 15,              // int,    可选, 支持15帧和30帧. 默认值是30帧
      "format": 2             // int,    可选, 1: flv格式 2: mp4格式. 默认值是1
    },
    {
      "streamId": 2,
      "type": 2,
      "flag": 15,
      "userId": "2",
      "layout": {...},
      "fps": 15,
      "format": 2
    }
  ]
}

参数说明:

  • streamId - 由客户指定,需要保证同一个频道的streamId不重复,后面可以使用streamId来更新、停止录制
  • type - 录制模式
    • type = 1,混录模式,频道内所有用户的音视频混合录制为一个文件
    • type = 2,单录模式,单个用户的音视频混合录制成一个文件
  • userId - 单录时的userId,混录时的主讲人ID,混录时如果不指定userId则将第一个入会的作为主讲人
  • layout - 设置视频合流布局,格式请参考布局参数说明
  • flag - 表示录制哪些媒体,多个值相加表示录制多个媒体,值15表示录制所有媒体
  • fps - 设置录制的帧率
  • format - 设置录制文件的格式

从上面的参数可以知道,客户可以指定在同一个频道里录制多路流,每一路流有独立的布局。

响应:

状态码说明
200请求成功处理
400请求格式错误
401认证错误
404频道不存在。该错误可能是在第一个用户开启频道之前发起录制时发生,可尝试重试该请求。
500服务器端内部错误

更新录制

请求:

PUT /recording/update
Host: api.pano.video
Content-Type: application/json
Authorization: PanoSign <PanoSign>
Tracking-Id: ef9b2acc8e1f4d598090eb6d9cbe8596

{
  "channelId":"Hello Pano",   // string, 必填, 频道ID
  "streamList": [
    {
      "streamId": 1,          // int,    必填, 用户指定的流ID
      "userId": "1",          // string, 可选, 主讲人Id, 当布局为演讲者模式时需要
      "layout": {...},        // object, 可选, 布局参数
      "fps": 15               // int,    可选, 支持15帧和30帧
    },
    {
      "streamId": 2,
      "layout": {...},
      "fps": 15
    }
  ]
}

通过更新接口可以更新stream的布局、混录时的主讲人Id等。

请注意,type和flag不可以更新。如果是单录,userId也不可以更新。

响应:

状态码说明
200请求成功处理
400请求格式错误
401认证错误
404频道不存在
500服务器端内部错误

结束录制

请求:

POST /recording/stop
Host: api.pano.video
Content-Type: application/json
Authorization: PanoSign <PanoSign>
Tracking-Id: ef9b2acc8e1f4d598090eb6d9cbe8596

{
  "channelId": "Hello Pano",   // string, 必填, 频道ID
  "streamId": 1                // int,    可选, 当为空时, 结束频道下所有录制, 当不为空时, 仅结束此streamId对应录制
}

响应:

状态码说明
200请求成功处理
400请求格式错误
401认证错误
404频道不存在
500服务器端内部错误

获取录制文件URL

请求:

POST /recording/url
Host: api.pano.video
Content-Type: application/json
Authorization: PanoSign <PanoSign>
Tracking-Id: ef9b2acc8e1f4d598090eb6d9cbe8596

{
  "channelKey": "57489728467",                  // channelKey与fileKeyList有一个必填
  "fileKeyList": ["68532189794","68532189795"], // channelKey与fileKeyList有一个必填
  "duration": 86400                             // int, 可选, url有效时长(seconds)
}

参数说明:

  • channelKey - channelKey与fileKeyList必须有一个为必填,只有channelKey参数时表示获取此通话下的所有录制文件URL,只有fileKeyList参数时表示获取这些fileKey的录制文件URL,如果2个参数都有值,则表示此channelKey下的此fileKey对应的录制文件
  • fileKeyList - fileKey在查询通话详情里获得,或者在webhook里获得。单次最多可以获取50个录制文件的URL
  • duration - 生成的URL有一个有效期,默认为24小时,最长为7天
  • 在频道结束后开始生成录制文件,此过程耗时通常约等于频道时长。
  • 如果单个 streamId 录制时长超过2小时,会按照每2小时对录制文件进行切片。例如,2小时30分钟的录制,会生成一个2小时的录制文件和一个30分钟的录制文件,一共两个 fileKeyList。
  • 录制文件默认免费保存3个月,如需长期保存请咨询商务。
  • 播放或下载录制文件,会产生费用(该费用不包含在免费时长中),具体资费请咨询商务。

响应:

状态码说明
200请求成功处理
400请求格式错误
401认证错误
404录制文件不存在
500服务器端内部错误

状态码 200

200 OK
[
  {
    "channelKey": "57489728467",
    "streamId": 1,
    "fileKey": "68532189794",
    "url": "https://abc1.flv",
    "duration": 3315                   // 录制文件时长,int(seconds)
  },
  ... // 更多数据
]
Last updated on 12/25/2020
← 频道管理CDN推流 →
  • 开启录制
    • 请求:
    • 响应:
  • 更新录制
    • 请求:
    • 响应:
  • 结束录制
    • 请求:
    • 响应:
  • 获取录制文件URL
    • 请求:
    • 响应:
    • 状态码 200
浙ICP备20002645号 Copyright ©2020 拍乐云. All Rights Reserved