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

›RESTful API

新手入门

  • 简介
  • 名词解释
  • 创建第一个应用

规则说明

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

场景方案

    教育行业

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

快速接入

  • 简介
  • 音视频

    • Windows (C++)
    • iOS (Objective-C)
    • Android (Java)
    • Web
    • Electron
    • Flutter
    • React Native
    • Unity

    白板

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

高级功能(RTC)

  • 简介
  • 屏幕共享
  • 分组讨论
  • 状态回调
  • 设备诊断
  • 音量指示
  • 控制声音
  • 声卡操作
  • 混音/伴音
  • 混响
  • 耳返
  • 变声
  • 美颜
  • 音视频数据回调
  • 音视频外部采集
  • 收发多路视频
  • 多窗口渲染
  • 性能检测
  • 截图
  • 反馈

高级功能(RTS)

  • 简介
  • 白板

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

    标注

    • 视频标注
    • 共享标注
    • 外部标注

    消息

    • 消息服务

    远程控制

    • 远程控制

操作实践

  • 切换大小屏

RESTful API

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

SDK API

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

    • 浏览器兼容性
    • RtcEngine
    • GroupManager
    • RtcWhiteboard
    • RtsService
    • RtcMessage
    • Annotation
    • Constants

更新记录

  • 简介
  • Windows
  • macOS
  • iOS
  • Android
  • Electron
  • Flutter
  • React Native
  • Unity
  • Web(全功能SDK)
  • Web(RTS SDK)
  • Web(IE专用音视频SDK)

帮助

  • FAQ
  • 更多帮助

CDN推流

通过CDN推流API来开启和停止直播。

开启推流

请求

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

{
  "channelId":"HelloPano",   // string, 必填, 频道ID
  "streamList": [
    {
      "streamId": 1,         // int,    必填, 直播流ID
      "url": "rtmp://...",   // string, 必填, RTMP推流地址
      "flag": 15,            // int,    必填, 媒体类型
      "type": 1,             // int,    必填, 推流模式
      "userId": "1",         // string, 可选, 用户ID
      "layout": {...},       // object, 可选, 布局参数
      "fps": 15,             // int,    可选, 帧率
      "watermarks": [...],   // array,  可选, 水印
      "delayClose": 0        // int,    可选, 延迟关闭
    },
    {
      "streamId": 2,
      "url": "rtmp://...",
      "flag": 15,
      "type": 2,
      "userId": "2",
      "layout": {...},
      "fps": 15,
      "watermarks": [...],
      "delayClose": 0
    }
  ]
}

参数说明:

  • streamList - 直播流列表,默认情况下,每个频道最多可以同时配置 3 路直播流。
  • streamId - 直播流ID,由开发者指定,用于标识和区分同一channelId内的不同直播流,后续可以使用streamId来更新、结束推流。
    开发者可以对同一个channelId创建多个直播流,每个流有不同的配置。
  • flag - 媒体类型,表示推哪些媒体流,1: 推音频、2: 推视频、4: 推桌面共享、8: 推白板,多个值相加表示同时推多种媒体,值15表示所有媒体(15=1+2+4+8)
  • type - 推流模式
    • "type": 1,混流模式,频道内所有用户的音视频混合后推到CDN
    • "type": 2,单流模式,单个用户的音视频流混合后推到CDN(单流时必须指定userId)
  • userId - 用户ID
    • 单流模式时表示推流的用户的userId(type为2时,userId是必填项)
    • 混流模式时表示主讲人ID,混流时如果不指定userId则第一个入会的用户作为主讲人
  • layout - 布局参数,用于设置视频合流布局,格式请参考布局参数说明
  • url - 推流地址,目前只支持RTMP推流,CDN一般支持RTMP、HLS和FLV等方式拉流
    • 如果是自行采购的CDN服务,请向CDN厂商获取推拉流地址
    • 如果是从Pano采购的CDN服务,请使用RESTful API获取推拉流地址,具体请咨询技术支持
  • fps - 设置推流的帧率,支持30帧(默认值)和15帧
  • watermarks - 水印,格式请参考水印
  • delayClose - 延迟关闭,在收到停止推流的消息后,延迟一段时间关闭推流。有效值0-600, 单位秒,默认值为0(不延迟关闭)

响应

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

更新推流

请求

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

{
  "channelId":"HelloPano",   // string, 必填, 频道ID
  "streamList": [
    {
      "streamId": 1,         // int,    必填, 直播流ID
      "url": "rtmp://...",   // string, 可选, 推流地址
      "userId": "1",         // string, 可选, 用户ID
      "layout": {...},       // object, 可选, 布局参数
      "fps": 15,             // int,    可选, 帧率
      "watermarks": [...]    // array,  可选, 更新水印设置, 数组为空时表示删除水印
    },
    {
      "streamId": 2,
      "url": "rtmp://...",
      "layout": {...},
      "fps": 15,
      "watermarks": [...]
    }
  ]
}

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

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

响应

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

结束推流

请求

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

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

响应

状态码说明
200请求成功处理
400请求格式错误
401认证错误
404频道不存在
500服务器内部错误
Last updated on 2022/1/25
← 云端录制文档转码 →
  • 开启推流
    • 请求
    • 响应
  • 更新推流
    • 请求
    • 响应
  • 结束推流
    • 请求
    • 响应
浙ICP备20002645号 ©2019-2022 Pano拍乐云