对在推流进行 mute/unmute 操作

更新时间不可用

对当前在推流执行 mute 或 unmute 操作。

POST
https://api.sd-rtn.com/{region}/{version}/projects/{appId}/rtls/ingress/online-streams/{sid}/mute

注意

  • 本请求执行成功,仅表示将指令成功发送到推流所在的网关节点,并不表示 mute/unmute 操作成功生效。实际的 mute/unmute 操作会在后台异步执行。
  • 正常情况下,从发出请求到实际生效的延时在 1s 左右。如果发现操作没有按预期生效,可以重新调用一次接口。
  • 每条流的初始状态都是 unmuted(即音视频都正常 publish 到频道内)。每次调用 API,操作的对象是当前在推流,当该主播发生断流重推后,新的流会重新变成初始状态。

鉴权

Basic Auth

HTTP 基本认证:每次发送 HTTP 请求时,都必须在请求 Header 部填入 Authorization 字段。关于如何生成该字段的值,请参考实现 HTTP 基本认证。

API Key

HTTP HMAC 认证:每次发送 HTTP 请求时,都必须在请求 Header 部填入 Authorization 字段。关于如何生成该字段的值,请参考实现 HTTP HMAC 认证。

路径参数

regionstring
必填

使用 RTMP 网关的区域。声网支持分区域创建推流码,目前支持以下区域:

  • cn:中国大陆
  • ap:除中国大陆以外的亚洲区域
  • na:北美
  • eu:欧洲

注意

  • 请确保设置的 region 与输入的源流在同一个区域。
  • 请确保设置的 region 与推流使用的域名在同一个区域。
  • 请确保传入 region 的值为小写。
versionstring
必填

查询信息的版本,填 v1。

appIdstring
必填

声网为每个开发者提供的 App ID。在声网控制台创建一个项目后即可得到一个 App ID。App ID 是一个项目的唯一标识。

sidstring
必填

推流会话 ID(Session ID),是每次发起的推流任务的唯一标识。可以通过查询当前在推流列表 API 获得,也可通过接收消息通知回调的 Payload 获取。

请求 Header

X-Request-IDstring

UUID(通用唯一识别码),标识本次请求。传入该字段后,声网服务器会在响应 header 中返回该字段。 声网推荐用户对 X-Request-ID 赋值。如果不赋值,声网服务器会自动生成一个 UUID 传入。

请求 Body

请求 Body 为 JSON Object 类型的 settings 字段。

注意

  • 为确保请求成功,请不要将必填字段设为 null 或者 ""。
  • 如果某条流当前已经处于 muted (或 unmuted)状态,那么重复设置为 muted(或 unmuted),请求仍然会执行成功,但是不会执行任何操作。
videoMutedboolean
必填

是否 mute 视频流:

  • true:是,mute 在推视频流。
  • false:否,unmute 在推视频流。
audioMutedboolean
必填

是否 mute 音频流:

  • true:是,mute 在推音频流。
  • false:否,unmute 在推音频流。

响应

如果状态码为 200,则请求成功。

响应 Header

X-Request-IDstring

UUID(通用唯一识别码),标识本次请求。该值为本次请求 header 中 X-Request-ID。如果请求出错,请在日志中打印出该值,排查问题。 如果本次请求的响应状态码为 401(Unauthorized),那么响应 Header 中无该字段。

响应 Body

statusstring

值为 "success"。

请求示例

Example Request
curl --request POST \
  --url "https://api.sd-rtn.com/:region/:version/projects/:appId/rtls/ingress/online-streams/:sid/mute" \
  --header 'Authorization: Basic <credentials>' \
  --header 'X-Request-ID: <string>' \
  -H 'Content-Type: application/json' \
  -d '{
  "settings": {
    "videoMuted": true,
    "audioMuted": false
  }
}'

响应示例

{
  "status": "success"
}