最近更新时间:2022-03-08 20:12:37
直播转码openAPI的调用需要进行用户身份控制以防止非法访问。身份控制采用AWS签名算法进行签名认证,生成签名的方法详见签名算法
直播转码服务封装openAPI,对外提供三种语言(PHP/Python/JAVA)的SDK,主要设置转码模板,发起外网拉流。对于只使用直播转码的客户,请联系技术支持代为设置直播转码模板。
客户调用金山云直播转码服务的openAPI接口是通过向指定服务地址发送请求,并按照openAPI文档说明在请求中添加相应的公共参数和接口参数来完成的。
直播转码openAPI的请求结构组成如下:
服务地址
直播转码的服务线上正式接入地址为:ket.cn-beijing-6.api.ksyun.com
通信协议
支持通过 HTTP 或 HTTPS 两种方式进行请求通信,推荐使用安全性更高的 HTTPS方式发送请求。
请求方法
直播转码的openAPI支持GET或POST请求,具体查看接口说明。
注意
请求参数
金山云openAPI请求包含两类参数:公共请求参数和接口请求参数。其中,公共请求参数是每个接口都要用到的请求参数,具体可参见公共参数小节;接口请求参数是各个接口所特有的,具体见各个接口的请求参数描述。
字符编码
请求及返回结果都使用UTF-8字符集进行编码。
SDK封装API请求,发往金山云IAM。
IAM对HTTP请求进行鉴权,鉴权失败则返回调用方;鉴权成功后,将HTTP请求中的业务相关信息下发给直播转码API服务端。IAM同时对客户的QPM(Requests Per Minute)进行检查,超过QPM的请求会被直接拒绝,避免后端服务被少数客户的误操作打爆。
直播转码API服务处理客户请求,将处理结果封装成JSON,返回给调用方。
调用金山云的openAPI服务,调用成功,返回的HTTP状态码(Status)为200;调用失败,返回4xx 或5xx的HTTP状态码(Status)。
金山云的媒体转码服务的调用返回的数据格式目前只支持Json格式,可通过设置HTTP Header Accept=application/json来指定返回数据格式。
调用成功返回HTTP状态码200和Json格式的消息体,Json包含通用参数和特有参数,具体详见各接口。
在转码API工作异常时,IAM会直接返回调用方。HTTP请求返回一个4xx或5xx的HTTP状态码,返回的HTTP消息体中包含具体的错误代码(code)及错误信息(message),详见金山云身份与访问控制服务。
请注意,请求ID(RequestId)是用来唯一标识本次调用请求的,在调用方找不到错误原因时,可以联系金山云客服,并提供RequestId,以便我们尽快帮您解决问题。
Json格式示例
{
"RequestId": "68093a99-2f63-4f39-8f70-3047ab8ecb5b",
"Error": {
"Type": "Sender",
"Code": "InvalidParameterValue",
"Message": "An invalid or out-of-range value was supplied for the input parameter PathPrefix."
}
}
HTTPS GET方法请求示例:
GET /?Action=GetPresetList&Version=2017-01-01&UniqName=mytest&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170517T131355Z&X-Amz-Credential=AKLT6UU6Vp_9SxWW5RAW6UHtdQ%2F20170517%2Fcn-beijing-6%2Fket%2Faws4_request&X-Amz-SignedHeaders=accept%3Bhost&X-Amz-Signature=1b55ca5217cf02ec38c9e19ecdcf2d5ebe9d37353b9da625461d514bfe79df57 HTTP/1.1
Host: ket.cn-beijing-6.api.ksyun.com
Accept: application/json
HTTPS POST方法请求示例:
POST /?Action=Preset&Version=2017-01-01&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20170517T132456Z&X-Amz-Credential=AKLT6UU6Vp_9SxWW5RAW6UHtdQ%2F20170517%2Fcn-beijing-6%2Fket%2Faws4_request&X-Amz-SignedHeaders=accept%3Bhost&X-Amz-Signature=a8317822a11c587d529d779557e873e4a5fcc145788547a13cb4f9ad00d92e0d HTTP/1.1
Host: ket.cn-beijing-6.api.ksyun.com
Accept: application/json
Content-Type: application/json;charset=utf-8
Content-Length: %LEN
{
%JSON Body
}
特别注意以上示例中的Action与Version。新版直播转码API的版本号:Version=2017-01-01,接口名Action值为各接口API。推荐使用新版SDK/API接入直播转码。
GET/POST示例中,HTTP header中Host为必需参数,且需要参与签名计算。而querystring中X-Amz-SignedHeaders=accept;host指定了HTTP Header中Host/Accept均需要参与签名
老版直播转码API请联系商务支持。
纯净模式