全部產品
Search
文件中心

:RTMP推流地址及簽名

更新時間:Feb 28, 2024

本文介紹RTMP推流地址及其簽名規則。

重要

僅當Bucket ACL為非public-read-write時,推流地址需要簽名後才可以使用。簽名方法與OSS的URL簽名類似。

RTMP推流地址

RTMP推流地址格式為rtmp://${bucket}.${host}/live/${channel}?${params},例如rtmp://examplebucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel

  • bucket:Bucket名稱,例如examplebucket。關於Bucket命名規範的更多資訊,請參見儲存空間(Bucket)

  • host:填寫地區節點Endpoint,例如oss-cn-hangzhou.aliyuncs.com。關於Endpoint的更多資訊,請參見訪問網域名稱和資料中心

  • live:RTMP協議的App名稱,OSS固定使用live。

  • channel:channel名稱。例如test-channel。關於channel命名規範的更多資訊,請參見PutLiveChannel

  • params:推流參數,與HTTP請求的query string相同,格式為varA=valueA&varB=valueB

RTMP推流支援的URL參數

RTMP推流支援的URL參數及描述如下表所示。

名稱

描述

playlistName

指定產生的m3u8檔案名稱。

說明

產生的m3u8檔案名稱仍被添加${channel_name}/首碼。

推流地址的簽名規則

帶簽名的推流地址格式為rtmp://${bucket}.${host}/live/${channel}?OSSAccessKeyId=xxx&Expires=yyy&Signature=zzz&${params}

推流地址的簽名規則中包含的參數及描述如下表所示。

參數名稱

描述

OSSAccessKeyId

與OSS HTTP簽名的AccessKeyId相同。

Expires

Unix時間戳記,單位為秒。

Signature

簽名字串。

params

其他參數。 所有的參數都需要經過簽名。

Signature的計算規則如下。

base64(hmac-sha1(AccessKeySecret,
    + Expires + "\n"
    + CanonicalizedParams
    + CanonicalizedResource))

Signature計算規則中涉及的參數及描述如下表所示。

名稱

描述

CanonicalizedParams

按照param key字典序拼接所有參數,格式為key:value\n

說明
  • 如果參數個數為0,則此項為空白。

  • 參數中不包含SecurityToken、OSSAccessKeyId、Expire以及Signature。

  • 每個param key只能出現一次。

CanonicalizedResource

格式為/BucketName/ChannelName,例如/examplebucket/test-channel