シナリオ

  • HLS 標準データ暗号化はビデオの保護に使用され、違法ダウンロードや違法配布を防止することができます。

制限事項

  • HLS 標準データ暗号化を使用するには、SubmitJobs API を使用する必要があります。
  • HLS 標準データ暗号化機能は、ワークフローでは使用できません。
  1. </section>
  2. <section class="section" id="section-avt-v2x-y2b">
  3. <h2 class="title sectiontitle" id="h2-url-3">コードの例</h2>
  4. <ul class="ul" id="ul-glc-z2x-y2b">
  5. <li class="li">MPS SDK の詳細については、<a title="ここでは、Alibaba Cloud Java SDK で推奨される、Maven のインストール方法について説明します。 具体的には、2 つのステップがあります。 まず、Alibaba Cloud Java SDK の Maven リポジトリを pom.xml 設定ファイルに追加します。 次に、MPS 依存関係を追加します。" href="~~55736#concept-tf1-r2w-y2b~~">「インストール」</a>をご参照ください。
  6. </li>
  7. <li class="li">その他のコード例<pre class="pre codeblock"><code>&lt;dependency&gt;
  8. &lt;groupId&gt;com.alibaba&lt;/groupId&gt;
  9. &lt;artifactId&gt;fastjson&lt;/artifactId&gt;
  10. &lt;version&gt;1.2.25&lt;/version&gt;

</dependency><dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version></dependency>

  1. </ul>
  2. </section>
  3. <section class="section" id="section-lxy-xfx-y2b">
  4. <h2 class="title sectiontitle" id="h2-url-4">コードの例</h2>
  5. <pre class="pre codeblock"><code>package com.aliyun

import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.exceptions.ClientException;import com.aliyuncs.mts.model.v20140618. QueryJobListRequest;import com.aliyuncs.mts.model.v20140618. QueryJobListResponse;import com.aliyuncs.mts.model.v20140618. SubmitJobsRequest;import com.aliyuncs.mts.model.v20140618. SubmitJobsResponse;import com.aliyuncs.profile.DefaultProfile;import org.apache.commons.codec.binary.Base64;public class DataEncryptionDemo { private DefaultAcsClient client = null; private final String REGION = “cn-shanghai”; //set as needed private final String MTS_ENDPOINT = “mts.cn-shanghai.aliyuncs.com”; //set as needed private final String ID=”idid”; //set as needed private final String KEY =”keykey”; //set as needed private final String LOCATION = “oss-cn-shanghai”; //set as needed private final String INPUT_BUCKET = “input-bucket”; //set as needed private final String OUTPUT_BUCKET = “output-bucket”; //set as needed private final String PIPELINE_ID = “pipelineId”; //set as needed public DataEncryptionDemo() throws ClientException { DefaultProfile.addEndpoint(REGION, REGION, “Mts”, MTS_ENDPOINT); this.client = new DefaultAcsClient(DefaultProfile.getProfile(REGION, ID, KEY)); } private JSONObject getInputFile() { JSONObject inputFile = new JSONObject(); inputFile.put(“Location”, LOCATION); inputFile.put(“Bucket”, INPUT_BUCKET); inputFile.put(“Object”, “uploadvideo/test.flv”); return inputFile; } private JSONArray getOutputs() { JSONArray outputs = new JSONArray(); outputs.add(getOutput()); return outputs; } private JSONObject getOutput() { JSONObject output = new JSONObject(); output.put(“OutputObject”, “BaseTest/hls-encryption.m3u8”); output.put(“TemplateId”, “S00000001-100020”); output.put(“Encryption”, getEncryptionConfigs()); return output; } private JSONObject getEncryptionConfigs() { JSONObject encryption = new JSONObject(); encryption.put(“Type”, “hls-aes-128”); encryption.put(“Key”, Base64.encodeBase64URLSafeString(“encryptionkey123”.getBytes())); encryption.put(“KeyUri”, Base64.encodeBase64URLSafeString(“http://demo.aliyuncs.com/document/hls128.key".getBytes())); encryption.put(“KeyType”, “Base64”); return encryption; } private String submitJobs() throws ClientException { JSONObject inputFile = getInputFile(); SubmitJobsRequest request = new SubmitJobsRequest(); request.setInput(inputFile.toJSONString()); request.setOutputLocation(LOCATION); request.setOutputBucket(OUTPUT_BUCKET); request.setOutputs(getOutputs().toJSONString()); request.setPipelineId(PIPELINE_ID); SubmitJobsResponse reponse = this.client.getAcsResponse(request); System.out.println(JSONObject.toJSONString(reponse.getJobResultList())); return reponse.getJobResultList().get(0).getJob().getJobId(); } public static void main(String[] args) throws ClientException { DataEncryptionDemo demo = new DataEncryptionDemo(); String jobId= demo.submitJobs(); } }

  1. </div>
  2. </article>
  3. </main>