v20181115

package
v3.0.75+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2019 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const APIVersion = "2018-11-15"

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	common.Client
}

func NewClient

func NewClient(credential *common.Credential, region string, clientProfile *profile.ClientProfile) (client *Client, err error)

func NewClientWithSecretId

func NewClientWithSecretId(secretId, secretKey, region string) (client *Client, err error)

Deprecated

func (*Client) CreateLicense

func (c *Client) CreateLicense(request *CreateLicenseRequest) (response *CreateLicenseResponse, err error)

本接口用来生成DRM方案对应的播放许可证,开发者需提供DRM方案类型、内容类型参数,后台将生成许可证后返回许可证数据 开发者需要转发终端设备发出的许可证请求信息。

func (*Client) DescribeKeys

func (c *Client) DescribeKeys(request *DescribeKeysRequest) (response *DescribeKeysResponse, err error)

开发者需要指定使用的DRM类型、和需要加密的Track类型,后台返回加密使用的密钥 如果加密使用的ContentID没有关联的密钥信息,后台会自动生成新的密钥返回

func (*Client) StartEncryption

func (c *Client) StartEncryption(request *StartEncryptionRequest) (response *StartEncryptionResponse, err error)

开发者调用该接口,启动一次内容文件的DRM加密工作流

type CreateLicenseRequest

type CreateLicenseRequest struct {
	*tchttp.BaseRequest

	// DRM方案类型,接口取值:WIDEVINE,FAIRPLAY。
	DrmType *string `json:"DrmType,omitempty" name:"DrmType"`

	// Base64编码的终端设备License Request数据。
	LicenseRequest *string `json:"LicenseRequest,omitempty" name:"LicenseRequest"`

	// 内容类型,接口取值:VodVideo,LiveVideo。
	ContentType *string `json:"ContentType,omitempty" name:"ContentType"`

	// 授权播放的Track列表。
	// 该值为空时,默认授权所有track播放。
	Tracks []*string `json:"Tracks,omitempty" name:"Tracks" list`

	// 播放策略参数。
	PlaybackPolicy *PlaybackPolicy `json:"PlaybackPolicy,omitempty" name:"PlaybackPolicy"`
}

func NewCreateLicenseRequest

func NewCreateLicenseRequest() (request *CreateLicenseRequest)

func (*CreateLicenseRequest) FromJsonString

func (r *CreateLicenseRequest) FromJsonString(s string) error

func (*CreateLicenseRequest) ToJsonString

func (r *CreateLicenseRequest) ToJsonString() string

type CreateLicenseResponse

type CreateLicenseResponse struct {
	*tchttp.BaseResponse
	Response *struct {

		// Base64 编码的许可证二进制数据。
		License *string `json:"License,omitempty" name:"License"`

		// 加密内容的内容ID
		ContentId *string `json:"ContentId,omitempty" name:"ContentId"`

		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
	} `json:"Response"`
}

func NewCreateLicenseResponse

func NewCreateLicenseResponse() (response *CreateLicenseResponse)

func (*CreateLicenseResponse) FromJsonString

func (r *CreateLicenseResponse) FromJsonString(s string) error

func (*CreateLicenseResponse) ToJsonString

func (r *CreateLicenseResponse) ToJsonString() string

type DescribeKeysRequest

type DescribeKeysRequest struct {
	*tchttp.BaseRequest

	// 使用的DRM方案类型,接口取值WIDEVINE、FAIRPLAY、NORMALAES。
	DrmType *string `json:"DrmType,omitempty" name:"DrmType"`

	// 加密的track列表,接口取值VIDEO、AUDIO。
	Tracks []*string `json:"Tracks,omitempty" name:"Tracks" list`

	// 内容类型。接口取值VodVideo,LiveVideo
	ContentType *string `json:"ContentType,omitempty" name:"ContentType"`

	// Base64编码的Rsa公钥,用来加密出参中的SessionKey。
	// 如果该参数为空,则出参中SessionKey为明文。
	RsaPublicKey *string `json:"RsaPublicKey,omitempty" name:"RsaPublicKey"`

	// 一个加密内容的唯一标识。
	// 如果该参数为空,则后台自动生成
	ContentId *string `json:"ContentId,omitempty" name:"ContentId"`
}

func NewDescribeKeysRequest

func NewDescribeKeysRequest() (request *DescribeKeysRequest)

func (*DescribeKeysRequest) FromJsonString

func (r *DescribeKeysRequest) FromJsonString(s string) error

func (*DescribeKeysRequest) ToJsonString

func (r *DescribeKeysRequest) ToJsonString() string

type DescribeKeysResponse

type DescribeKeysResponse struct {
	*tchttp.BaseResponse
	Response *struct {

		// 加密密钥列表
		Keys []*Key `json:"Keys,omitempty" name:"Keys" list`

		// 用来加密密钥。
		// 如果入参中带有RsaPublicKey,则SessionKey为使用Rsa公钥加密后的二进制数据,Base64编码字符串。
		// 如果入参中没有RsaPublicKey,则SessionKey为原始数据的字符串形式。
		SessionKey *string `json:"SessionKey,omitempty" name:"SessionKey"`

		// 内容ID
		ContentId *string `json:"ContentId,omitempty" name:"ContentId"`

		// Widevine方案的Pssh数据,Base64编码。
		// Fairplay方案无该值。
		Pssh *string `json:"Pssh,omitempty" name:"Pssh"`

		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
	} `json:"Response"`
}

func NewDescribeKeysResponse

func NewDescribeKeysResponse() (response *DescribeKeysResponse)

func (*DescribeKeysResponse) FromJsonString

func (r *DescribeKeysResponse) FromJsonString(s string) error

func (*DescribeKeysResponse) ToJsonString

func (r *DescribeKeysResponse) ToJsonString() string

type DrmOutputObject

type DrmOutputObject struct {

	// 输出的桶名称。
	BucketName *string `json:"BucketName,omitempty" name:"BucketName"`

	// 输出的对象名称。
	ObjectName *string `json:"ObjectName,omitempty" name:"ObjectName"`

	// 输出对象参数。
	Para *DrmOutputPara `json:"Para,omitempty" name:"Para"`
}

type DrmOutputPara

type DrmOutputPara struct {

	// 内容类型。例:video,audio,mpd,m3u8
	Type *string `json:"Type,omitempty" name:"Type"`

	// 语言,例: en, zh-cn
	Language *string `json:"Language,omitempty" name:"Language"`
}

type DrmSourceObject

type DrmSourceObject struct {

	// 输入的桶名称。
	BucketName *string `json:"BucketName,omitempty" name:"BucketName"`

	// 输入对象名称。
	ObjectName *string `json:"ObjectName,omitempty" name:"ObjectName"`
}

type Key

type Key struct {

	// 加密track类型。
	Track *string `json:"Track,omitempty" name:"Track"`

	// 密钥ID。
	KeyId *string `json:"KeyId,omitempty" name:"KeyId"`

	// 原始Key使用AES-128 ECB模式和SessionKey加密的后的二进制数据,Base64编码的字符串。
	Key *string `json:"Key,omitempty" name:"Key"`

	// 原始IV使用AES-128 ECB模式和SessionKey加密的后的二进制数据,Base64编码的字符串。
	Iv *string `json:"Iv,omitempty" name:"Iv"`
}

type PlaybackPolicy

type PlaybackPolicy struct {

	// 播放许可证的有效期
	LicenseDurationSeconds *uint64 `json:"LicenseDurationSeconds,omitempty" name:"LicenseDurationSeconds"`

	// 开始播放后,允许最长播放时间
	PlaybackDurationSeconds *uint64 `json:"PlaybackDurationSeconds,omitempty" name:"PlaybackDurationSeconds"`
}

type StartEncryptionRequest

type StartEncryptionRequest struct {
	*tchttp.BaseRequest

	// cos的end point。
	CosEndPoint *string `json:"CosEndPoint,omitempty" name:"CosEndPoint"`

	// cos api密钥id。
	CosSecretId *string `json:"CosSecretId,omitempty" name:"CosSecretId"`

	// cos api密钥。
	CosSecretKey *string `json:"CosSecretKey,omitempty" name:"CosSecretKey"`

	// 使用的DRM方案类型,接口取值WIDEVINE,FAIRPLAY
	DrmType *string `json:"DrmType,omitempty" name:"DrmType"`

	// 存储在COS上的原始内容信息
	SourceObject *DrmSourceObject `json:"SourceObject,omitempty" name:"SourceObject"`

	// 加密后的内容存储到COS的对象
	OutputObjects []*DrmOutputObject `json:"OutputObjects,omitempty" name:"OutputObjects" list`
}

func NewStartEncryptionRequest

func NewStartEncryptionRequest() (request *StartEncryptionRequest)

func (*StartEncryptionRequest) FromJsonString

func (r *StartEncryptionRequest) FromJsonString(s string) error

func (*StartEncryptionRequest) ToJsonString

func (r *StartEncryptionRequest) ToJsonString() string

type StartEncryptionResponse

type StartEncryptionResponse struct {
	*tchttp.BaseResponse
	Response *struct {

		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
	} `json:"Response"`
}

func NewStartEncryptionResponse

func NewStartEncryptionResponse() (response *StartEncryptionResponse)

func (*StartEncryptionResponse) FromJsonString

func (r *StartEncryptionResponse) FromJsonString(s string) error

func (*StartEncryptionResponse) ToJsonString

func (r *StartEncryptionResponse) ToJsonString() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL