Multi-DRM 専用 JWT 規格
Multi-DRM は、さまざまなデバイスおよびブラウザ環境でコンテンツを安全に保護するために、複数の標準 DRM 技術を統合して提供するサービスです。
Kollus VOD はグローバル DRM ソリューションである DoveRunner と連携し、Widevine(Android/Chrome)、FairPlay(iOS/Safari)、PlayReady(Windows/Edge) DRM を単一の JWT 認証規格で統合管理します。
Multi-DRM は別途の契約および有効化が必要な付加サービス です。この機能を有効化するには、営業担当者(jp_sales@catenoid.net)までお問い合わせください。
JWT 技術仕様
暗号化アルゴリズム
Kollus VOD は HMAC SHA-256(HS256)アルゴリズムのみをサポートします。
Header: { "alg": "HS256", "typ": "JWT" }
認証キー
JWT 生成および呼び出し時に以下の 2 つのキーを使用します。
セキュリティーキー
- 説明: JWT 署名(Signing)および検証に使用される秘密鍵です。外部への漏洩にご注意ください。
- 確認方法: Kollus VOD コンソール > [設定] > [ユーザーキー]
- セキュリティーキーの変更: 営業担当者(jp_sales@catenoid.net)までお問い合わせください。
ユーザーキー
- 説明: セキュリティーキーを暗号化した値で、セキュリティーキーとともに認証(JWT)に使用されます。
- 確認方法: Kollus VOD コンソール > [設定] > [ユーザーキー]
- ブラウザの更新時に値が更新される場合があります。使用時点の最新の値をコピーして適用してください。
JWT Payload 詳細規格
Multi-DRM 連携時には、mc配列の内部にdrm_policyオブジェクトを含め、各環境(Widevine、FairPlay、PlayReady)のライセンス情報を渡す必要があります。
キー(Key)情報については、認証と主要キー情報ドキュメントを参照してください。
必須オプションの適用例
{
"cuid": "{END_USER_ID}",
"expt": 1703980800,
"mc": [{
"mckey": "{MEDIA_CONTENT_KEY}",
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"certificate_url": "https://license.pallycon.com/ri/fpsKeyManager.do?siteId={YOUR_SITE_ID}",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "{BASE64_ENCODED_TOKEN}"
}
}
}
}]
}
基本 オプション
| オプション | タイプ | 説明 |
|---|---|---|
cuid | string | ユーザー ID
|
expt | integer | JWT 有効期限(Unix timestamp)
|
mc | array | 再生するコンテンツ情報を含む配列 |
コンテンツオプション(mc 配列内部の設定)
| オプション | タイプ | 説明 |
|---|---|---|
mckey | string | メディアコンテンツキー |
drm_policy | object | Multi-DRM ポリシーデータ |
drm_policy オブジェクト
| オプション | タイプ | 説明 |
|---|---|---|
kind | string | DRM ソリューションの種類。固定値"inka"を入力(DoveRunner の旧 INKA Entworks) |
streaming_type | string | ストリーミングプロトコルの種類
|
data | object | ライセンス認証および発行に必要なデータ |
data サブオプション
| オプション | タイプ | 必須 | 説明 |
|---|---|---|---|
license_url | string | △ | (Widevin または PlayReady 使用時に必須) ライセンスサーバーアドレス |
certificate_url | string | △ | (FairPlay 使用時に必須) FairPlay 証明書アドレス |
custom_header | object | ◯ | ライセンスリクエスト時に渡すカスタムヘッダー |
custom_header.key | string | ◯ | ヘッダーキー名("pallycon-customdata-v2"固定) |
custom_header.value | string | ◯ | DoveRunner ライセンストークン値(Base64 エンコード必須) |
DRM 詳細設定
PlayReady
- サポート環境: Windows Edge、Windows Chrome(138 以降)
ブラウザのハードウェアアクセラレーションオプションが必ず有効になっている必要があります。アクセラレーション機能が無効の場合、ライセンス発行段階で-57208エラーが発生し、再生がブロックされます。
- ハードウェアアクセラレーションの設定方法
- Edge: 右上メニュー(···)> [設定] > [システムとパフォーマンス] > [使用可能な場合はグラフィックアクセラレーションを使用する]を有効化 > ブラウザを再起動
- Chrome: 右上メニュー(⋮)> [設定] > [システム] > [使用可能な場合はグラフィックアクセラレーションを使用する]を有効化 > ブラウザを再起動
{
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "eyJ0aW1lc3RhbXAi..."
}
}
}
}
Widevine
- サポート環境: Chromium ベースのブラウザ、Android
- 画面キャプチャ防止: ブラウザのハードウェアアクセラレーションが有効な環境でのみ正常に動作します。
- CSS の競合:
iframe内部に特定の CSS 効果が適用されている場合、ブラウザのセキュリティポリシーにより再生がスムーズに行われない場合があります。 - シークレットモード(Incognito): Google のセキュリティポリシーにより、シークレットモードでは Widevine DRM の再生が制限される場合があります。
{
"drm_policy": {
"kind": "inka",
"streaming_type": "dash",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "eyJ0aW1lc3RhbXAi..."
}
}
}
}
FairPlay
- サポート環境: Safari、iOS、iPadOS
FairPlay 環境ではcertificate_urlの設定が必須です。certificate_url内のsiteIdパラメーターには、DoveRunner コンソールで発行された ID を入力してください。
{
"drm_policy": {
"kind": "inka",
"streaming_type": "hls",
"data": {
"license_url": "https://license.pallycon.com/ri/licenseManager.do",
"certificate_url": "https://license.pallycon.com/ri/fpsKeyManager.do?siteId=XXXX",
"custom_header": {
"key": "pallycon-customdata-v2",
"value": "eyJ0aW1lc3RhbXAi..."
}
}
}
}
DoveRunner ライセンストークン生成
custom_header.valueパラメーターに入力する値は、DoveRunner 規格の JSON データを生成した後、その文字列全体を Base64 でエンコードして準備します。
トークンデータ構造
{
"timestamp": "2025-12-31T23:59:59Z",
"site_id": "XXXX",
"policy": "...",
"cid": "content_id"
}
パラメーター説明
| オプション | 説明 |
|---|---|
timestamp | トークン生成時刻(ISO 8601 形式に準拠) |
site_id | DoveRunner サービスで発行された Site ID |
policy | ライセンスポリシー(再生有効期間、再生回数など)を定義する文字列 |
cid | Kollus アップロードファイルキー
|
ライセンストークンデータの構成に関する詳細については、公式ドキュメントを参照してください。