服务端 API v2
  • API 概览
  • 快速开始
  • 调用方式
  • 房间信令接口
  • 混流转码接口
  • 媒体服务接口
  • 媒体文件接口
  • 音视频流审核接口
  • 场景服务接口
  • 回调说明
  • 全局返回码
  • 使用 Postman 调试
  • 文档中心
  • 服务端 API v2
  • 回调说明
  • 流创建回调

流创建回调

更新时间:2024-04-15 16:34

1 描述

当开发者有维护直播列表的需求时,APP 在流媒体服务器有流创建时,将会以 POST 的形式对回调地址进行请求。

2 回调说明

  • 请求方法:POST/JSON。

    回调数据需要 UrlDecode 解码。

  • 请求地址:请在 ZEGO 控制台 上配置回调地址。
  • 传输协议:HTTPS/HTTP,建议使用 HTTPS。

3 回调参数

公共参数 类型 描述
event
String
回调事件,此回调返回值为 stream_create
appid
String
AppId。
timestamp
String
流创建后,服务器回调给客户时,服务器的当前时间。
nonce
String
随机数。
signature
String
检验串,请参考 回调说明 - 检验说明
业务参数 类型 描述
room_id
String
房间 ID,对应客户端的 RoomID,同 channel_id 意义相同,不超过 127 字节。
room_session_id
String
房间生命周期唯一标识,在该房间的整个生命周期中保持不变。
user_id
String
用户 ID,同 publish_id 意义相同,不超过 255 字节。
user_name
String
用户昵称,同 publish_name 意义相同,不超过 255 字节。
channel_id
String
频道 ID,对应客户端的 RoomID,不超过 127 字节。
stream_id
String
流 ID,对应客户端的 StreamID,同 stream_alias 意义相同。
stream_sid
String
流 server ID, 流的唯一标识,由 ZEGO 后台生成,开发者可不关注。
title
String
标题,不超过 255 字节。
stream_alias
String
流名,对应客户端的 StreamID,不超过 255 字节。
stream_attr
String
流信息。回调示例:"{\"cid\":0}",其中 cid 表示该流的编码 ID,取值如下:

  • 0:H.264。
  • 1:H.264 分层视频编码。
  • 2:VP8 编码。
  • 3:H.265。
stream_seq
String
服务器流列表变更的 seq,每次流变更都会加 1。
create_time
String
流创建时间戳,单位:秒。
create_time_ms
String
流创建时间戳,单位:毫秒。
extra_info
String
流附加信息。
recreate
String
是否重复推流。
  • 1:表示客户端重新推了一条服务器已存在的流。
  • 0:表示新流。
publish_id
String
发布者 ID,对应客户端的 UserID,不超过 255 字节。
publish_name
String
发布者名字,对应客户端的 UserName,不超过 255 字节。
rtmp_url
Array of String
RTMP 拉流地址,不超过 1024 字节。
hls_url
Array of String
HLS 拉流地址,不超过 1024 字节。
hdl_url
Array of String
HDL 拉流地址,不超过 1024 字节。
pic_url
Array of String
截图地址,不超过 255 字节。

建议您将部分参数转换为 Int 进行逻辑处理,相关字段包括 create_timecreate_time_msstream_seqrecreateroom_session_id

4 数据示例

{
    "event": "stream_create",
    "appid": "1",
    "timestamp": "1687981272",
    "nonce": "7254119327986670314",
    "signature": "xxx",
    "room_id": "room1",
    "room_session_id": "1234567",
    "user_id": "user1",
    "user_name": "user1_name",
    "channel_id": "0xb-0x1",
    "stream_id": "stream_id",
    "stream_sid": "s-115205136669740000000000104",
    "title": "title",
    "stream_alias": "aaa",
    "stream_attr": "{\"cid\":0}",
    "stream_seq": "01",
    "create_time": "1687981272",
    "create_time_ms": "1687981272742",
    "extra_info": "extra",
    "recreate": "0",
    "publish_id": "publish",
    "publish_name": "publish_name",
    "rtmp_url": [
        "rtmp://rtmp.wsdemo.zego.im/zegodemo/aaa",
        "rtmp://testplay.aliyun.zego.im/livestream/aaa"
    ],
    "hls_url": [
        "http://hls.wsdemo.zego.im/zegodemo/aaa/playlist.m3u8",
        "http://testplay.aliyun.zego.im/livestream/aaa.m3u8"
    ],
    "hdl_url": [
        "http://hdl.wsdemo.zego.im/zegodemo/aaa.flv",
        "http://testplay.aliyun.zego.im/livestream/aaa.flv"
    ],
    "pic_url": [
        "http://pic.wsdemo.zego.im/zegodemo/aaa.jpg"
    ]
}

5 返回响应

返回 HTTP status code 为 2XX (例如 200)表示成功,其他响应都表示失败。

6 回调重试策略

如果 ZEGO 服务器没有收到响应,会尝试重试,最多进行 5 次重试。每次重试请求与上一次请求的间隔时间分别为 2s、4s、8s、16s、32s。若第 5 次重试后仍然失败,将不再重试,该回调丢失。

本篇目录