创建视频流
功能介绍
该接口用于创建视频流。包括RTMP以及HTTP-FLV类型视频流。
- 创建RTMP视频流时,用户可根据实际需求选择是否配置密钥,如果配置了密钥,则进行RTMP推流时需要提供认证Token。如果不配置该参数,则推流时不需要进行认证。
- 创建HTTP-FLV视频流时,需要HTTP-FLV视频流的拉流地址,且地址必须是http或https协议的合法URL。
自定义流名称只能使用英文字母a~z,A-Z)、数字(0~9)以及连接符(-、_),连接符(-、__)不能连续出现、不能单独注册,也不能放在开头和结尾。长度不低于 8,不超过128个字符。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
普通租户的token。 |
Authorization |
否 |
String |
使用AK/SK方式认证时必选,携带的鉴权信息。 |
X-Sdk-Date |
否 |
String |
使用AK/SK方式认证时必选,请求的发生时间。 |
X-Project-Id |
否 |
String |
使用AK/SK方式认证时必选,携带项目ID信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
自定义流名称只能使用英文字母a~z,A-Z)、数字(0~9)以及连接符(-、_),连接符(-、__)不能连续出现、不能单独注册,也不能放在开头和结尾。长度不低于 8,不超过128个字符。 |
access_type |
是 |
String |
视频接入类型,当前支持HTTP-FLV和RTMP协议,不区分大小写。 |
encode_type |
是 |
String |
视频流编码格式,当前支持H264,不区分大小写。 |
share_type |
否 |
String |
视频流共享类型。
不填时默认为PRIVATE,不区分大小写。当值为PRIVATE,用户在拉取视频时会鉴权,拉流时必须在请求头中添加X-Auth-Token,值为创建视频流的用户的Token。拉流地址参考获取视频流地址。 |
url |
否 |
String |
当视频类型为RTMP协议时,不需要该参数。当视频类型为HTTP-FLV协议时,该参数必填,表示HTTP-FLV协议视频流的拉流地址。该地址必须是http或https协议的合法URL,格式要求以“http://”或“https://”开头的字符串,例如“http://xxxx.xxx”。 |
access_key |
否 |
String |
当视频类型为HTTP-FLV时,不需要该参数。视频接入类型是RTMP时,该参数表示密钥access_key,用户可根据自己实际需求选择是否配置。如果配置了密钥access_key,则进行RTMP推流时需要提供认证Token。这里的密钥access_key由创建AK/SK凭证接口生成。配置了密钥access_key后,在推流时,需要在原始推流地址后面加上若干查询参数,作为推流认证信息,具体请参见推流鉴权规则。如果不配置该参数,表示不提供access_key,则推流时不需要进行认证。 |
description |
否 |
String |
视频流的描述信息,可填字符串最大长度为500。 |
tag |
否 |
Array of StreamTag objects |
和视频流关联的标签,一个视频流最多添加10个标签。 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
stream_id |
String |
视频流ID。 |
name |
String |
视频流的名称。 |
encode_type |
String |
视频流编码格式。 |
access_type |
String |
视频接入类型。 |
access_key |
String |
RTMP视频流的密钥。接入类型(access_type)为RTMP时,才有该参数。 |
url |
String |
HTTP-FLV视频流的拉流地址。接入类型(access_type)为HTTP-FLV时,才有该参数。 |
share_type |
String |
视频流共享类型。 |
state |
String |
视频流状态。
默认为STOPPED。 |
created_at |
Number |
视频流创建时间,UTC时间,格式为:YYYY-MM-DDTHH:MM:SSZ。 |
updated_at |
Number |
视频流更新时间,UTC时间,格式为:YYYY-MM-DDTHH:MM:SSZ。 |
description |
String |
视频流描述信息。 |
tag |
Array of StreamTag objects |
和视频流关联的标签。 |
请求示例
- RTMP
POST /v1/3266392d188c47d09948b1**********/streams { "name" : "stream_test1", "access_type" : "RTMP", "encode_type" : "H264", "share_type" : "PUBLIC", "access_key" : "ALKJOWLKJSDNFGO******KSJDF", "description" : "", "tag" : [ { "key" : "group", "value" : "number1" } ] }
- HTTP-FLV
POST /v1/3266392d188c47d09948b1**********/streams { "name" : "stream_test2", "access_type" : "HTTP-FLV", "encode_type" : "H264", "share_type" : "PUBLIC", "url" : "https://xxxxxxxx.com/live", "description" : "", "tag" : [ { "key" : "group", "value" : "number1" } ] }
响应示例
状态码: 201
正常
- 示例 1
{ "stream_id" : "stream-0BOPSRsT", "name" : "stream_test1", "encode_type" : "H264", "access_type" : "RTMP", "access_key" : "ALKJOWLKJSDNFGO******KSJDF", "share_type" : "PUBLIC", "state" : "STOPPED", "created_at" : "2018-06-12T13:00:01Z", "updated_at" : "2018-06-12T13:00:01Z", "description" : "", "tag" : [ { "key" : "group", "value" : "number1" } ] }
- 示例 2
{ "stream_id" : "stream-9IzU3TdL", "name" : "stream_test2", "encode_type" : "H264", "access_type" : "HTTP-FLV", "url" : "https://xxxxxxxx.com/live", "share_type" : "PUBLIC", "state" : "STOPPED", "created_at" : "2018-06-12T13:00:01Z", "updated_at" : "2018-06-12T13:00:01Z", "description" : "", "tag" : [ { "key" : "group", "value" : "number1" } ] }
状态码: 400
请求错误。具体返回错误码请参考错误码说明
{ "error_msg" : "Invalid request parameter, url can not be null or empty when access type is HTTP-FLV.", "error_code" : "VIS.0005" }
状态码
状态码 |
描述 |
---|---|
201 |
正常 |
400 |
请求错误。具体返回错误码请参考错误码说明 |