本文介绍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的更多信息,请参见OSS地域和访问域名。
- 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文件名称仍被添加 | 
推流地址的签名规则
带签名的推流地址格式为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字典序拼接所有参数,格式为 说明  
 | 
| CanonicalizedResource | 格式为 |