云服务器内容精选

  • 响应示例 状态码: 200 正常 { "user_id" : "******6045184a8194e021113e******", "sip_ip" : "10.95.144.***", "sip_port" : "5080", "quota" : { "consecutive_access_time" : { "total" : 120, "used" : 120 }, "password" : { "total" : 10, "used" : 2 }, "random_access_time" : { "total" : 240, "used" : 240 }, "stream" : { "total" : 500, "used" : 8 }, "active_stream" : { "total" : 200, "used" : 4 }, "device" : { "total" : 500, "used" : 0 }, "aksk" : { "total" : 10, "used" : 6 }, "http_num" : { "total" : 10, "used" : 5 }, "http_active_num" : { "total" : 5, "used" : 1 }, "rtmp_num" : { "total" : 0, "used" : 0 } }, "created_at" : "2018-10-25T03:06:10Z", "is_subscribed" : true } 状态码: 404 找不到资源或没有开通服务。具体返回错误码请参考错误码说明。 { "error_msg" : "Failed to find the user subscription info.", "error_code" : "VIS.0015" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 user_id String 用户ID。 sip_ip String SIP服务器地址,VIS对外提供的设备注册地址。 sip_port String SIP服务器端口,VIS对外提供的设备注册端口,固定为5080。 quota quotaInfo object 开通服务返回的quota体。 created_at String 创建时间,格式为:YYYY-MM-DDTHH:MM:SSZ(UTC时间)。 is_subscribed Boolean 用户是否开通服务。 true:表示开通。 false:表示未开通。 表4 quotaInfo 参数 参数类型 描述 password PassWordInfo object GB/T28181凭证配额信息。 consecutive_access_time Consecutive_Access_TimeInfo object GB/T28181设备连续接入时长的配额信息。 random_access_time Random_Access_TimeInfo object GB/T28181设备随机接入时长的配额信息。 stream StreamInfo object 视频流配额信息。 active_stream Active_StreamInfo object 激活视频流配额信息。 device DeviceInfo object 设备配额信息。 aksk AKSKInfo object AKSK凭证配额信息。 http_num HttpInfo object http_flv配额信息。 http_active_num HttpActiveInfo object http_flv激活配额信息。 rtmp_num RtmpInfo object rtmp配额信息。 表5 PassWordInfo 参数 参数类型 描述 total Integer GB/T28181凭证总配额量。 used Integer GB/T28181凭证已创建量。 表6 Consecutive_Access_TimeInfo 参数 参数类型 描述 total Integer 设备连续接入的总时长。 used Integer 设备已使用的时长。 表7 Random_Access_TimeInfo 参数 参数类型 描述 total Integer GB/T28181设备随机接入的总时长。 used Integer GB/T28181设备随机已接入的时长。 表8 StreamInfo 参数 参数类型 描述 total Integer 视频流总配额量。 used Integer 视频流已创建量。 表9 Active_StreamInfo 参数 参数类型 描述 total Integer 可激活视频流总配额量。 used Integer 视频流已激活量。 表10 DeviceInfo 参数 参数类型 描述 total Integer 设备总配额量。 used Integer 设备已创建量。 表11 AKSKInfo 参数 参数类型 描述 total Integer AKSK凭证总配额量。 used Integer AKSK凭证已创建量。 表12 HttpInfo 参数 参数类型 描述 total Integer http_flv总配额数量。 used Integer http_flv已创建数量。 表13 HttpActiveInfo 参数 参数类型 描述 total Integer http_flv激活总配额数量。 used Integer http_flv已激活数量。 表14 RtmpInfo 参数 参数类型 描述 total Integer rtmp总配额数量。 used Integer rtmp已创建数量。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 普通租户的token。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。
  • 请求示例 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" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 普通租户的token。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 自定义流名称只能使用英文字母a~z,A-Z)、数字(0~9)以及连接符(-、_),连接符(-、__)不能连续出现、不能单独注册,也不能放在开头和结尾。长度不低于 8,不超过128个字符。 access_type 是 String 视频接入 类型,当前支持HTTP-FLV和RTMP协议,不区分大小写。 encode_type 是 String 视频流编码格式,当前支持H264,不区分大小写。 share_type 否 String 视频流共享类型。 PRIVATE:非共享。 PUBLIC:共享。 不填时默认为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个标签。 表4 StreamTag 参数 是否必选 参数类型 描述 key 否 String 标签的键。最大长度为36个UNICODE字符(一-鿿),可以包含大小写字母、数字、中划线(-)或者下划线(_),不能包含其他的特殊字符。 value 否 String 标签的值。最大长度为43个UNICODE字符(一-鿿),可以包含大小写字母、数字、点(.)、中划线(-)或者下划线(_),不能包含其他的特殊字符,也可以为空字符串。
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 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 视频流状态。 ACTIVE:表示已激活。 STOPPED:表示已停用。 默认为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 和视频流关联的标签。 表6 StreamTag 参数 参数类型 描述 key String 标签的键。最大长度为36个UNICODE字符(一-鿿),可以包含大小写字母、数字、中划线(-)或者下划线(_),不能包含其他的特殊字符。 value String 标签的值。最大长度为43个UNICODE字符(一-鿿),可以包含大小写字母、数字、点(.)、中划线(-)或者下划线(_),不能包含其他的特殊字符,也可以为空字符串。
  • 功能介绍 该接口用于创建视频流。包括RTMP以及HTTP-FLV类型视频流。 创建RTMP视频流时,用户可根据实际需求选择是否配置密钥,如果配置了密钥,则进行RTMP推流时需要提供认证Token。如果不配置该参数,则推流时不需要进行认证。 创建HTTP-FLV视频流时,需要HTTP-FLV视频流的拉流地址,且地址必须是http或https协议的合法URL。 自定义流名称只能使用英文字母a~z,A-Z)、数字(0~9)以及连接符(-、_),连接符(-、__)不能连续出现、不能单独注册,也不能放在开头和结尾。长度不低于 8,不超过128个字符。
  • 响应示例 状态码: 200 正常 { "result" : "success" } 状态码: 400 请求错误。具体返回错误码请参考错误码说明 { "error_msg" : "Invalid request parameter, url can not be null or empty when access type is HTTP-FLV.", "error_code" : "VIS.0005" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 普通租户的token。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 access_type 否 String 视频接入类型,例如HTTP-FLV、RTMP等,不区分大小写。当视频流处于ACTIVE状态时,不允许修改该项。 encode_type 否 String 视频流编码格式,当前支持H264,不区分大小写。 access_key 否 String RTMP视频流绑定的密钥Access Key。 url 否 String HTTP-FLV视频流的拉流地址。URL必须是http或https协议的合法URL。格式要求:以“http://”或“https://”开头的字符串,例如“http://xxxx.xxx”。 description 否 String 视频流的描述信息。 share_type 否 String 视频流共享类型。 PRIVATE:非共享。 PUBLIC:共享。 不区分大小写。 tag 否 Array of StreamTag objects 和视频流关联的标签,一个视频流最多添加10个标签。 state 否 String 视频流状态,可选值如下。 ACTIVE:表示已激活。 STOPPED:表示已停用。 表4 StreamTag 参数 是否必选 参数类型 描述 key 否 String 标签的键。最大长度为36个UNICODE字符(一-鿿),可以包含大小写字母、数字、中划线(-)或者下划线(_),不能包含其他的特殊字符。 value 否 String 标签的值。最大长度为43个UNICODE字符(一-鿿),可以包含大小写字母、数字、点(.)、中划线(-)或者下划线(_),不能包含其他的特殊字符,也可以为空字符串。
  • 从控制台获取项目ID 登录管理控制台。 鼠标移动到右上角的用户名上,在下拉列表中选择“我的凭证”。 在“我的凭证”页面,可以查看用户名、账号名,在项目列表中查看项目ID。 图1 查看账号ID/项目ID 单击“管理访问密钥”,可以查看已添加的访问密钥ID(Access Key ID,AK)。 如果没有AK/SK,可单击“新增访问密钥”来添加。 如果已生成过AK/SK,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。
  • 调用API获取项目ID 项目ID还用通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为 IAM 的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,例如VIS部署的区域为"cn-north-4",相应消息体中查找“name”为"cn-north-4",其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-4", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息,具体请参见错误码。
  • 响应消息头 对应请求消息头,响应同样也有消息头,如“Content-type”。 表1 公共响应消息头 消息头名称 说明 是否必选 Content-Type 用于指明发送给接收者的实体正文的媒体类型。 类型:字符串。 默认值:application/json; charset=UTF-8 是 X-request-id 此字段携带请求ID号,以便任务跟踪。 类型:字符串。request_id-timestamp-hostname(request_id在服务器端生成UUID, timestamp为当前时间戳,hostname为处理当前接口的服务器名称)。 默认值:无。 否 X-ratelimit 此字段携带总计流控请求数。 类型:整型。 默认值:无。 否 X-ratelimit-used 此字段携带剩下请求数。 类型:整型。 默认值:无。 否 X-ratelimit-window 此字段携带流控单位。 类型:字符串。单位按照分钟、小时、天。 默认值:小时。 否 对于获取用户Token接口,返回如图 获取用户Token相应消息头所示。 其中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。 图1 获取用户Token响应消息头
  • 响应示例 状态码: 201 正常 { "user_id" : "******6045184a8194e021113e******", "sip_ip" : "10.95.144.***", "sip_port" : "5080", "quota" : { "consecutive_access_time" : { "total" : 120, "used" : 0 }, "password" : { "total" : 10, "used" : 0 }, "random_access_time" : { "total" : 240, "used" : 0 }, "stream" : { "total" : 50, "used" : 0 }, "active_stream" : { "total" : 10, "used" : 0 }, "device" : { "total" : 50, "used" : 0 }, "aksk" : { "total" : 10, "used" : 0 }, "http_num" : { "total" : 10, "used" : 0 }, "http_active_num" : { "total" : 5, "used" : 0 }, "rtmp_num" : { "total" : 0, "used" : 0 } }, "created_at" : "2018-10-25T03:06:10Z", "is_subscribed" : true } 状态码: 400 请求错误。具体返回错误码请参考错误码说明。 { "error_msg" : "You have already subscribed to VIS.", "error_code" : "VIS.0018" }