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

混流开始回调

更新时间:2024-04-02 11:30

1 描述

当开发者需要具体知道当前 APP 的混流情况,可先 配置回调。APP 在混流服务器有混流开始时,将会以 POST 的形式对回调地址进行请求。

2 回调说明

  • 请求方法:POST/JSON。

    回调数据需要 UrlDecode 解码。

  • 请求地址:请联系 ZEGO 技术支持配置回调地址。
  • 传输协议:HTTPS/HTTP,建议使用 HTTPS。

3 回调参数

参数 类型 描述
appid
String
APP 标识。
event
String
回调事件,此回调返回值为 mix_start
seq
String
混流请求的序号,保证混流请求被执行的顺序,自增唯一。
task_id
String
混流 ID,如果混流开始请求中带上 task_id 参数,ZEGO 会加上 appid 前缀组成新的混流 ID,否则用 mix_url 等其他参数拼接混流 ID。
channel_id
String
频道 ID,对应客户端的 RoomID,不超过 255 字节。
publish_id
String
发布者 ID,对应客户端的 UserID,不超过 255 字节。
mix_url
String
混流最终输出的地址,RTMP 协议地址,不超过 255 字节。
mix_stream_alias
String
混流最终输出流名,不超过 255 字节。
rtmp_urls
Array
RTMP 拉流地址,不超过 1024 字节。
hls_urls
Array
HLS 拉流地址,不超过 1024 字节。
hdl_urls
Array
HDL 拉流地址,不超过 1024 字节。
stream_alias
String
流名,对应客户端的 StreamID,不超过 255 字节。
timestamp
String
服务器当前时间,Unix 时间戳。
nonce
String
随机数。
signature
String
检验串,请参考 回调说明 - 检验说明

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

4 数据示例

{
    "appid": "111111",
    "channel_id": "2222",
    "event": "mix_start",
    "hdl_url": "http://hdl.wsdemo.zego.im/zegodemo/aaa.flv",
    "hdl_urls": [
        "http://hdl.wsdemo.zego.im/zegodemo/aaa.flv",
        "http://testplay.aliyun.zego.im/livestream/aaa.flv"
    ],
    "hls_url": "http://hls.wsdemo.zego.im/zegodemo/aaa/playlist.m3u8",
    "hls_urls": [
        "http://hls.wsdemo.zego.im/zegodemo/aaa/playlist.m3u8",
        "http://testplay.aliyun.zego.im/livestream/aaa.m3u8"
    ],
    "mix_stream_alias": "aaa",
    "mix_url": "rtmp://rtmp.wsdemo.zego.im/zegodemo/aaa",
    "nonce": "7257784982359218206",
    "publish_id": "abc",
    "rtmp_url": "rtmp://rtmp.wsdemo.zego.im/zegodemo/aaa",
    "rtmp_urls": [
        "rtmp://rtmp.wsdemo.zego.im/zegodemo/aaa",
        "rtmp://testplay.aliyun.zego.im/livestream/aaa"
    ],
    "seq": "123",
    "signature": "aa2f0a33831a35b65f64fdc0520b1758e491eb48",
    "stream_alias": "aaa",
    "task_id": "111111:1111",
    "timestamp": "1689834748"
}

5 返回响应

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

6 回调重试策略

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

本篇目录