调用CreateRoomRealTimeStreamAddress创建RTMP流在房间中的推流地址。
注意事项
在使用实时音视频时,需要通过阿里云ARTC SDK进行入会并推送RTC的流。但在部分特殊场景下,阿里云允许您使用RTMP协议推流(如OBS推流),并由阿里云将RTMP转换成RTC流进行推送和实现用户入会。您可以通过本接口实现该能力,本接口将为您生成RTMP推流地址,当您完成推流后阿里云将自动将流转换成RTC流。
若您的业务是纯直播场景时,请勿使用该接口,您可以参见生成推流地址和播放地址快速实现RTMP推流和直播播放。
使用说明
1. 调用此接口生成RTMP推流地址。
2. 向RTMP地址推流,房间中的其他用户可以看到此路流。
3. 停止推流,房间中的其他用户看到推RTMP流的用户离开房间。
- 在RTMP地址有效期内可以重复步骤2、3。
- 建议配合调用DescribeChannelParticipants查询频道用户列表,定时间隔的检查推RTMP流的用户是否还在房间中。如果不在,可能推流中断,建议停止推流再转到步骤2重推。
QPS限制
本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | CreateRoomRealTimeStreamAddress | 系统规定参数。取值:CreateRoomRealTimeStreamAddress。 |
AppId | String | 是 | yourAppId | 实时音视频应用ID,仅支持传单个ID。由大小写字母、数字、下划线、短划线(-)组成,最大64字符。 |
ChannelId | String | 是 | yourChannelId | 要加入的房间ID,仅支持传单个ID。由大小写字母、数字、下划线、短划线(-)组成,最大64字符。 |
UserId | String | 是 | rtmp-uuid | 向RTMP地址推流的用户ID,不能和房间中的其他用户ID重复。由大小写字母、数字、下划线、短划线(-)组成,最大64字符。 |
DisplayName | String | 是 | rtmp-dname | RTMP流在房间中显示的名称,最大40字符。 |
ExpireTime | Integer | 否 | 43200 | RTMP地址有效时长,单位:秒,默认值36000,即10小时。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | F8DB7E25-6A35-161A-AA41-B7A658AF**** | 请求ID。 |
RtmpAddress | String | rtmp://rtcpush****.rtmp.alivecdn.com/rtcdev****/H4sIAAAA****_6pWSlayUipJLS5R0lEqRTBTEMwiJSul1CRTMxNjsyQTM****-PUZCMz8yTDZLNkAwMDA6M0I0ulWgA****__wEAAP__a_e7YkkAAAA?auth_key=1700492701-6e33-0-c6d7e3a93dc2dbe3af42f6259ccd**** | RTMP推流地址。 |
示例
请求示例
http(s)://live.aliyuncs.com?Action=CreateRoomRealTimeStreamAddress
&AppId=yourAppId
&ChannelId=yourChannelId
&UserId=rtmp-uuid
&DisplayName=rtmp-dname
&ExpireTime=43200
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateRoomRealTimeStreamAddressResponse>
<RequestId>F8DB7E25-6A35-161A-AA41-B7A658AF0635</RequestId>
<RtmpAddress>rtmp://rtcpush****.rtmp.alivecdn.com/rtcdev****/H4sIAAAA****_6pWSlayUipJLS5R0lEqRTBTEMwiJSul1CRTMxNjsyQTM****-PUZCMz8yTDZLNkAwMDA6M0I0ulWgA****__wEAAP__a_e7YkkAAAA?auth_key=1700492701-6e33-0-c6d7e3a93dc2dbe3af42f6259ccd****</RtmpAddress>
</CreateRoomRealTimeStreamAddressResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "F8DB7E25-6A35-161A-AA41-B7A658AF0635",
"RtmpAddress" : "rtmp://rtcpush****.rtmp.alivecdn.com/rtcdev****/H4sIAAAA****_6pWSlayUipJLS5R0lEqRTBTEMwiJSul1CRTMxNjsyQTM****-PUZCMz8yTDZLNkAwMDA6M0I0ulWgA****__wEAAP__a_e7YkkAAAA?auth_key=1700492701-6e33-0-c6d7e3a93dc2dbe3af42f6259ccd****"
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
400 | InputInvalid | %s. | 输入参数不合法 |
403 | NoAuth | %s. | 没有权限 |
404 | ResourceNotExist | %s. | 请求资源不存在,请检查后重新尝试 |
500 | ServerError | %s. | 未知错误,请稍后重试或提交工单咨询。 |
访问错误中心查看更多错误码。