{
  "name": "drm",
  "display_name": "数字版权管理",
  "description": "介绍如何使用API对数字版权管理进行操作，包括生成DRM的播放许可证、启动DRM加密等。",
  "domain": "database",
  "api_version": "2018-11-15",
  "endpoint": "drm.tencentcloudapi.com",
  "actions": [
    {
      "name": "AddFairPlayPem",
      "description": "本接口用来设置fairplay方案所需的私钥、私钥密钥、ask等信息。 如需使用fairplay方案，请务必先设置私钥。",
      "status": "online",
      "parameters": [
        {
          "name": "Pem",
          "type": "string",
          "required": true,
          "description": "加密后的fairplay方案申请时使用的私钥。 请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对私钥文件中的字段进行加密，并对加密结果进行base64编码。"
        },
        {
          "name": "Ask",
          "type": "string",
          "required": true,
          "description": "加密后的fairplay方案申请返回的ask数据。 请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对Ask字符串进行加密，并对加密结果进行base64编码。"
        },
        {
          "name": "PemDecryptKey",
          "type": "string",
          "required": false,
          "description": "私钥的解密密钥。 openssl在生成rsa时，可能会需要设置加密密钥，请记住设置的密钥。 请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对解密密钥进行加密，并对加密结果进行base64编码。"
        },
        {
          "name": "BailorId",
          "type": "integer",
          "required": false,
          "description": "委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。"
        },
        {
          "name": "Priority",
          "type": "integer",
          "required": false,
          "description": "私钥的优先级，优先级数值越高，优先级越高。 该值可以不传，后台将自动分配一个优先级。"
        }
      ],
      "required": [
        "Pem",
        "Ask"
      ]
    },
    {
      "name": "CreateEncryptKeys",
      "description": "该接口用来设置加密的密钥。注意，同一个content id，只能设置一次！",
      "status": "online",
      "parameters": [
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "使用的DRM方案类型，接口取值WIDEVINE、FAIRPLAY、NORMALAES。"
        },
        {
          "name": "Keys",
          "type": "array",
          "required": true,
          "description": "设置的加密密钥列表。",
          "item_type": "object",
          "children": [
            {
              "name": "Track",
              "type": "string",
              "required": true,
              "description": "加密track类型。取值范围： SD、HD、UHD1、UHD2、AUDIO",
              "example": "SD"
            },
            {
              "name": "Key",
              "type": "string",
              "required": true,
              "description": "请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对解密密钥进行加密，并对加密结果进行base64编码。",
              "example": "p6nKS76Cw7DjeSjNg0nT5Dhuigw0RgXm96gXD5CS9hs4Fp5RW7o0"
            },
            {
              "name": "KeyId",
              "type": "string",
              "required": false,
              "description": "密钥ID。",
              "example": "1170ed7adf7c4c648550ec2269"
            },
            {
              "name": "Iv",
              "type": "string",
              "required": false,
              "description": "请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对解密密钥进行加密，并对加密结果进行base64编码。",
              "example": "TM663CRcZhCZzzMI10Cz5"
            }
          ]
        },
        {
          "name": "ContentId",
          "type": "string",
          "required": false,
          "description": "一个加密内容的唯一标识。"
        },
        {
          "name": "ContentType",
          "type": "string",
          "required": false,
          "description": "内容类型。接口取值VodVideo,LiveVideo。"
        }
      ],
      "required": [
        "DrmType",
        "Keys"
      ]
    },
    {
      "name": "CreateLicense",
      "description": "本接口用来生成DRM方案对应的播放许可证，开发者需提供DRM方案类型、内容类型参数，后台将生成许可证后返回许可证数据 开发者需要转发终端设备发出的许可证请求信息。",
      "status": "online",
      "parameters": [
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "DRM方案类型，接口取值：WIDEVINE，FAIRPLAY。",
          "example": "WIDEVINE"
        },
        {
          "name": "LicenseRequest",
          "type": "string",
          "required": true,
          "description": "Base64编码的终端设备License Request数据。",
          "example": "CAQ="
        },
        {
          "name": "ContentType",
          "type": "string",
          "required": true,
          "description": "内容类型，接口取值：VodVideo,LiveVideo。",
          "example": "VodVideo"
        },
        {
          "name": "Tracks",
          "type": "array",
          "required": false,
          "description": "授权播放的Track列表。 该值为空时，默认授权所有track播放。",
          "example": "HD",
          "item_type": "string"
        },
        {
          "name": "PlaybackPolicy",
          "type": "object",
          "required": false,
          "description": "播放策略参数。",
          "example": "无",
          "children": [
            {
              "name": "LicenseDurationSeconds",
              "type": "integer",
              "required": false,
              "description": "播放许可证的有效期单位：秒",
              "example": "4561412421"
            },
            {
              "name": "PlaybackDurationSeconds",
              "type": "integer",
              "required": false,
              "description": "开始播放后，允许最长播放时间单位：秒",
              "example": "8411412421"
            }
          ]
        },
        {
          "name": "WidevineSecurityLevel",
          "type": "string",
          "required": false,
          "description": "Widevine安全级别，接口取值[L1, L2, L3]。 安全级别定义参考Widevine安全级别定义。",
          "example": "L3"
        }
      ],
      "required": [
        "DrmType",
        "LicenseRequest",
        "ContentType"
      ]
    },
    {
      "name": "DeleteFairPlayPem",
      "description": "本接口用来删除fairplay方案的私钥、ask等信息 注：高风险操作，删除后，您将无法使用腾讯云DRM提供的fairplay服务。 由于缓存，删除操作需要约半小时生效",
      "status": "online",
      "parameters": [
        {
          "name": "BailorId",
          "type": "integer",
          "required": false,
          "description": "委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。"
        },
        {
          "name": "FairPlayPemId",
          "type": "integer",
          "required": false,
          "description": "要删除的pem id。 当未传入该值时，将删除所有的私钥。"
        }
      ],
      "required": []
    },
    {
      "name": "DescribeAllKeys",
      "description": "本接口用来查询指定DRM类型、ContentType的所有加密密钥",
      "status": "online",
      "parameters": [
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "使用的DRM方案类型，接口取值WIDEVINE、FAIRPLAY、NORMALAES。"
        },
        {
          "name": "RsaPublicKey",
          "type": "string",
          "required": false,
          "description": "Base64编码的Rsa公钥，用来加密出参中的SessionKey。 如果该参数为空，则出参中SessionKey为明文。"
        },
        {
          "name": "ContentId",
          "type": "string",
          "required": false,
          "description": "一个加密内容的唯一标识。"
        },
        {
          "name": "ContentType",
          "type": "string",
          "required": false,
          "description": "内容类型。接口取值VodVideo,LiveVideo。"
        }
      ],
      "required": [
        "DrmType"
      ]
    },
    {
      "name": "DescribeDRMLicense",
      "description": "开发者需要指定使用的DRM类型取值 NORMALAES、和需要加密的Track类型取值 SD,ContentType取值 LiveVideo",
      "status": "online",
      "parameters": [
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "使用的DRM方案类型，接口取值 NORMALAES 。",
          "example": "NORMALAES"
        },
        {
          "name": "Tracks",
          "type": "array",
          "required": true,
          "description": "加密的track列表，接口取值 SD 。",
          "example": "[\"SD\"]",
          "item_type": "string"
        },
        {
          "name": "ContentId",
          "type": "string",
          "required": true,
          "description": "一个加密内容的唯一标识。",
          "example": "AesContent"
        },
        {
          "name": "ContentType",
          "type": "string",
          "required": true,
          "description": "内容类型。接口取值 LiveVideo 。",
          "example": "LiveVideo"
        }
      ],
      "required": [
        "DrmType",
        "Tracks",
        "ContentId",
        "ContentType"
      ]
    },
    {
      "name": "DescribeFairPlayPem",
      "description": "该接口用来查询设置的FairPlay私钥校验信息。可用该接口校验设置的私钥与本身的私钥是否一致。",
      "status": "online",
      "parameters": [
        {
          "name": "BailorId",
          "type": "integer",
          "required": false,
          "description": "委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。"
        },
        {
          "name": "FairPlayPemId",
          "type": "integer",
          "required": false,
          "description": "需要查询的pem id。 当该值未填入时，将返回所有的私钥信息。"
        }
      ],
      "required": []
    },
    {
      "name": "DescribeKeys",
      "description": "开发者需要指定使用的DRM类型、和需要加密的Track类型，后台返回加密使用的密钥 如果加密使用的ContentID没有关联的密钥信息，后台会自动生成新的密钥返回",
      "status": "online",
      "parameters": [
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "使用的DRM方案类型，接口取值WIDEVINE、FAIRPLAY、NORMALAES。"
        },
        {
          "name": "Tracks",
          "type": "array",
          "required": true,
          "description": "加密的track列表，接口取值VIDEO、AUDIO。",
          "item_type": "string"
        },
        {
          "name": "ContentType",
          "type": "string",
          "required": true,
          "description": "内容类型。接口取值VodVideo,LiveVideo"
        },
        {
          "name": "RsaPublicKey",
          "type": "string",
          "required": false,
          "description": "Base64编码的Rsa公钥，用来加密出参中的SessionKey。 如果该参数为空，则出参中SessionKey为明文。"
        },
        {
          "name": "ContentId",
          "type": "string",
          "required": false,
          "description": "一个加密内容的唯一标识。 如果该参数为空，则后台自动生成"
        }
      ],
      "required": [
        "DrmType",
        "Tracks",
        "ContentType"
      ]
    },
    {
      "name": "GenerateTDRMKey",
      "description": "开发者需要指定使用的DRM类型取值 NORMALAES、和需要加密的Track类型取值 SD,ContentType取值 LiveVideo",
      "status": "online",
      "parameters": [
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "使用的DRM方案类型，接口取值 NORMALAES 。",
          "example": "NORMALAES"
        },
        {
          "name": "Tracks",
          "type": "array",
          "required": true,
          "description": "加密的track列表，接口取值 SD 。",
          "example": "[\"SD\"]",
          "item_type": "string"
        },
        {
          "name": "ContentId",
          "type": "string",
          "required": true,
          "description": "一个加密内容的唯一标识。",
          "example": "test"
        },
        {
          "name": "ContentType",
          "type": "string",
          "required": true,
          "description": "内容类型。接口取值 LiveVideo 。",
          "example": "LiveVideo"
        }
      ],
      "required": [
        "DrmType",
        "Tracks",
        "ContentId",
        "ContentType"
      ]
    },
    {
      "name": "ModifyFairPlayPem",
      "description": "本接口用来设置fairplay方案所需的私钥、私钥密钥、ask等信息。 如需使用fairplay方案，请务必先设置私钥。",
      "status": "online",
      "parameters": [
        {
          "name": "Pem",
          "type": "string",
          "required": true,
          "description": "加密后的fairplay方案申请时使用的私钥。 请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对私钥文件中的字段进行加密，并对加密结果进行base64编码。"
        },
        {
          "name": "Ask",
          "type": "string",
          "required": true,
          "description": "加密后的fairplay方案申请返回的ask数据。 请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对Ask字符串进行加密，并对加密结果进行base64编码。"
        },
        {
          "name": "FairPlayPemId",
          "type": "integer",
          "required": true,
          "description": "要修改的私钥id"
        },
        {
          "name": "PemDecryptKey",
          "type": "string",
          "required": false,
          "description": "私钥的解密密钥。 openssl在生成rsa时，可能会需要设置加密密钥，请记住设置的密钥。 请使用腾讯云DRM 提供的公钥，使用rsa加密算法，PKCS1填充方式对解密密钥进行加密，并对加密结果进行base64编码。"
        },
        {
          "name": "BailorId",
          "type": "integer",
          "required": false,
          "description": "委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。"
        },
        {
          "name": "Priority",
          "type": "integer",
          "required": false,
          "description": "私钥的优先级，优先级数值越高，优先级越高。 该值可以不传，后台将自动分配一个优先级。"
        }
      ],
      "required": [
        "Pem",
        "Ask",
        "FairPlayPemId"
      ]
    },
    {
      "name": "StartEncryption",
      "description": "开发者调用该接口，启动一次内容文件的DRM加密工作流。 注意：该接口已下线。",
      "status": "online",
      "parameters": [
        {
          "name": "CosEndPoint",
          "type": "string",
          "required": true,
          "description": "cos的end point。"
        },
        {
          "name": "CosSecretId",
          "type": "string",
          "required": true,
          "description": "cos api密钥id。"
        },
        {
          "name": "CosSecretKey",
          "type": "string",
          "required": true,
          "description": "cos api密钥。"
        },
        {
          "name": "DrmType",
          "type": "string",
          "required": true,
          "description": "使用的DRM方案类型，接口取值WIDEVINE,FAIRPLAY"
        },
        {
          "name": "SourceObject",
          "type": "object",
          "required": true,
          "description": "存储在COS上的原始内容信息",
          "children": [
            {
              "name": "BucketName",
              "type": "string",
              "required": false,
              "description": "输入的桶名称。",
              "example": "bucket"
            },
            {
              "name": "ObjectName",
              "type": "string",
              "required": false,
              "description": "输入对象名称。",
              "example": "object"
            }
          ]
        },
        {
          "name": "OutputObjects",
          "type": "array",
          "required": true,
          "description": "加密后的内容存储到COS的对象",
          "item_type": "object",
          "children": [
            {
              "name": "BucketName",
              "type": "string",
              "required": false,
              "description": "输出的桶名称。",
              "example": "bucket"
            },
            {
              "name": "ObjectName",
              "type": "string",
              "required": false,
              "description": "输出的对象名称。",
              "example": "object"
            },
            {
              "name": "Para",
              "type": "object",
              "required": false,
              "description": "输出对象参数。",
              "example": "无",
              "children": [
                {
                  "name": "Type",
                  "type": "string",
                  "required": false,
                  "description": "内容类型。例:video，audio，mpd，m3u8",
                  "example": "video"
                },
                {
                  "name": "Language",
                  "type": "string",
                  "required": false,
                  "description": "语言,例: en, zh-cn",
                  "example": "en"
                }
              ]
            }
          ]
        }
      ],
      "required": [
        "CosEndPoint",
        "CosSecretId",
        "CosSecretKey",
        "DrmType",
        "SourceObject",
        "OutputObjects"
      ]
    }
  ]
}