--- title: "DRM の適用" slug: "vpe-umd-drm" updated: 2026-09-17T09:22:05Z published: 2026-09-17T09:22:05Z canonical: "guide.ncloud-docs.com/vpe-umd-drm" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # DRM の適用 Classic/VPC環境で利用できます。 One Click Multi DRMと PallyCon DRMの2つの連携方法について説明します。 ## One Click Multi DRM連携 NAVERクラウドプラットフォームの One Click Multi DRMを使用することで、Widevine、PlayReady、FairPlayを一度に構成できます。以下のユースケースは、DRMテスト APIを呼び出してオプションを組み込む方法です。 ### DRMテスト API連携 `https://vpe-api.sgrsoft.com/api/drmTest` エンドポイントを呼び出して DRM情報を取得した後、プレイヤーのオプションに渡します。 参考 UMD環境での DRM再生時には、`ncplayerDRM()` 非同期関数を使用します。一般 `new ncplayer()` の代わりに使用することで、DRMライブラリが自動的にロードされます。 ```
``` ### Ncloud DRM Helperのインストール ``` npm i vpe-drm-helper ``` - Ncloud DRM Helperは、DRM再生ソースを作成するために使用されます。 - Ncloud APIキーが使用されます。 - Ncloud Sub Accountを使用して、DRM専用 APIキーを作成・使用します。 - 再生ソースの作成タスクは、必ずバックエンドで行う必要があります。 ### Ncloud DRM Serverの実装 ``` const express = require("express"); const vpeDrmHelper = require("vpe-drm-helper"); const app = express(); const port = 3000; // DRM Helper設定 const NDRM = new vpeDrmHelper(); NDRM.isGov = false; // 公共官公庁向けクラウドプラットフォームの使用有無を設定(デフォルト値: false) NDRM.setUserId("test-user"); // 視聴者 ID NDRM.setSiteId("{SITEID}"); // One Click Multi DRM Site IDを設定 NDRM.setApiKey("{Ncloud API accessKey}", "{Ncloud API secretKey}"); // DRMソースを作成する APIエンドポイント app.get("/drm-source", function(req, res) { const drmSource = NDRM.drmSourceHelper( { dash: "{DASH再生ソース}", hls: "{HLS再生ソース}", }, "{contentId}" // contentIdが必須 ); res.json(drmSource); }); app.listen(port, function() { console.log("Server is running on http://localhost:" + port); }); ``` - このコードは、Express.jsを使用して簡単なサーバを設定し、`/drm-source` パスから DRMソースを作成して返す APIを提供します。 - `accessKey`, `secretKey`, `SITEID`, DASH再生ソース、HLS再生ソース、`contentId`は、実際の値に置き換える必要があります。 注意 - `{SITEID}` / `{contentId}`は、DRMライセンストークンの作成時に必要です。外部に漏洩しないでください。 - APIキーは、DRM権限のみが追加されたキーを使用する必要があります。Master APIキーは絶対に使用しないでください。 ### UMDクライアント連携 バックエンド APIから DRMソースを取得し、プレイヤーに送信します。 ``` ``` ### レスポンスの JSON構造 DRM Helperが作成する再生ソースの JSON構造です。各 DRMタイプごとに、ソース URL、ライセンス URL、認証ヘッダが含まれます。 ``` { "playlist": [ { "drm": { "com.widevine.alpha": { "src": "https://example.edge.naverncp.com/dash/.../manifest.mpd", "licenseUri": "https://multi-drm.apigw.ntruss.com/api/v1/license", "licenseRequestHeader": { "x-ncp-region_code": "KR", "x-ncp-iam-access-key": "...", "x-ncp-apigw-timestamp": 1770471614859, "x-ncp-apigw-signature-v2": "...", "x-drm-token": "..." } }, "com.microsoft.playready": { "src": "https://example.edge.naverncp.com/dash/.../manifest.mpd", "licenseUri": "https://multi-drm.apigw.ntruss.com/api/v1/license", "licenseRequestHeader": { ... } }, "com.apple.fps": { "src": "https://example.edge.naverncp.com/hls/.../index.m3u8", "certificateUri": "https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlay", "certificateRequestHeader": { ... }, "licenseUri": "https://multi-drm.apigw.ntruss.com/api/v1/license", "licenseRequestHeader": { ... } } }, "poster": "https://example.com/poster.jpg" } ], "aspectRatio": "16/9", "autostart": true, "muted": true } ``` ### 全 HTMLのユースケース(バックエンド連携) ```