閱讀933 返回首頁    go 阿裏雲


RTMP推流地址及簽名__關於LiveChannel的操作_API 參考_對象存儲 OSS-阿裏雲

RTMP推流地址形如:rtmp://your-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel

其組成規則為: rtmp://${bucket}.${host}/live/${channel}?${params}

  • live為RTMP協議的app名稱,OSS固定使用live。
  • params為推流的參數,格式與HTTP請求的query string相同,即形如”varA=valueA&varB=valueB“。
  • BucketAcl非public-read-write時,推流地址需要簽名才可以使用;簽名方法類似OSS的Url簽名,但有一些細節上的不同,後文會描述具體的規則。

RTMP推流支持的url參數

名稱 描述
playlistName 用來指定生成的m3u8文件名稱,其值覆蓋LiveChannel中的配置。
注意:生成的m3u8名稱仍然會被添加”${channel_name}/“前綴。

推流地址的簽名規則

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

參數名稱 描述
OSSAccessKeyId 意義同OSS的HTTP簽名的AccessKeyId
Expires 過期時間戳,格式采用Unit timestamp
Signature 簽名字符串,後文會描述其計算方法
params 其他參數,所有的參數都需要參與簽名

Signature的計算規則如下:

  1. base64(hmac-sha1(AccessKeySecret,
  2. + Expires + "n"
  3. + CanonicalizedParams
  4. + CanonicalizedResource))
名稱 描述
CanonicalizedResource 格式為 “/BucketName/ChannelName”
CanonicalizedParams 按照param key字典序拚接”key:valuen”,將所有的參數拚起來,如果參數個數為0,那麼這一項為空。
參數中不包含SecurityToken、OSSAccessKeyId和Expire以及Signature。
每一個param key隻能出現一次。

最後更新:2016-11-23 17:16:10

  上一篇:go LiveChannel簡介__關於LiveChannel的操作_API 參考_對象存儲 OSS-阿裏雲
  下一篇:go PutLiveChannelStatus__關於LiveChannel的操作_API 參考_對象存儲 OSS-阿裏雲