メインコンテンツまでスキップ

セキュアライブ視聴 URL 生成 (JWT)

お知らせ

このドキュメントは機械翻訳で作成された下書きであり、現在レビュー中です。機械翻訳の特性上、一部の内容が不正確であったり、韓国語の原文と異なる場合があります。より正確な情報については、韓国語のドキュメントをご参照ください。

ライブ配信にセキュリティ機能を適用するには、お客様のサーバーで有効な JWT(JSON Web Token) を生成し、プレイヤー呼び出し時に渡す必要があります。

このドキュメントは、認証済みユーザーのみが配信を視聴できるよう制限し、重複再生遮断などのセキュリティ機能を適用するための JWT の詳細規格を説明します。


JWT 技術仕様

暗号化アルゴリズム

Kollus Live は HMAC SHA-256(HS256)アルゴリズムのみをサポートしています。

Header: { "alg": "HS256", "typ": "JWT" }

認証キー

JWT 生成および呼び出し時に以下の 2 つのキーを使用します。

セキュリティーキー

  • 説明: JWT 署名(Signing)および検証に使用される秘密キーです。外部への漏洩にご注意ください。
  • 確認方法: Kollus Live コンソール > [設定] > [基本情報] > [サービスアカウント] タブ
セキュリティーキーの変更

セキュリティーキーの変更は営業担当者(jp_sales@catenoid.net)までお問い合わせください。

カスタムキー (custom_key)

  • 説明: セキュリティーキーを暗号化した値で、セキュリティーキーとともに認証(JWT)に使用されます。
  • 確認方法: Kollus Live コンソール > [設定] > [基本情報] > [サービスアカウント] タブ

リクエスト URL 形式

https://v-live-jp.kollus.com/s?jwt={JWT}&custom_key={CUSTOM_KEY}
注意
  • 標準 Claim の使用制限: RFC 7519 - Registered Claim Names 規格の Claim を使用するとエラーが発生する場合があります。
  • ウォーターマーキングの有効化: ウォーターマーキング(Watermarking)機能はデフォルトで無効になっています。この機能を有効化するには、営業担当者(jp_sales@catenoid.net)までお問い合わせください。
  • iOS フルスクリーンモード: iOS 環境でフルスクリーンに切り替えた際、iOS Native プレイヤーが起動します。
  • 機能制限環境: iOS またはサムスンインターネットブラウザでフルスクリーン再生した場合、ウォーターマーク表示など Kollus Player の機能の動作が制限される場合があります。

JWT Payload 詳細規格

必須オプション適用例

ユーザー(catenoid)が特定のチャンネル(vouww6hjt9xy9dnV)を視聴するための基本的な Payload 構造です。

{
"client_user_id": "catenoid",
"expire_time": 1893455999,
"live_media_channel_key": "vouww6hjt9xy9dnV"
}

基本オプション

参考文書

キー(Key/ID)情報は以下のドキュメントを参照してください。

オプションタイプ必須デフォルト値説明
client_user_id (cuid)string-ユーザー ID
  • 重複再生遮断および録画/キャプチャ遮断設定時の基準識別子として使用されます。
  • 英数字の使用を推奨します。日本語や特殊文字は遮断履歴照会時に検索が制限される場合があります。
expire_time (expt)integer-JWT 有効期限 (Unix timestamp)
  • 最大値: 1893455999 (2029-12-31)
  • 有効期限後もサーバー時刻の誤差を考慮し、最大 1 分までコンテンツへのアクセスが許可される場合があります。
live_media_channel_key (lmckey)string-チャンネル固有識別子(チャンネルキー)
client_user_namestring--チャット欄に表示されるユーザーのニックネーム
client_user_imagestring--ニックネームの横に表示される画像 URL(https 必須)
play_exptinteger-現在時刻 + 2 日ライブ配信アクセス有効時間
live_media_profile_key (lmpf)string--エンコーディングプロファイルキー(未入力時は ABR 適用)
titlestring--プレイヤーに表示される配信タイトル(未入力時は既存の配信タイトルを表示)

チャットオプション

オプションタイプデフォルト値説明
chatting_policy.is_visiblebooleantrueチャット欄の表示有無
chatting_policy.is_adminbooleanfalseチャット管理者権限付与の有無
chatting_policy.positionstring"right"チャット欄の位置
  • "right": 画面右側
  • "left": 画面左側

チャット UI オプション

オプションタイプデフォルト値説明
chat_font_urlstring-Web フォント URL(1 つのみサポート、ブラウザ別サポート拡張子の確認が必要)
chat_font_namestring-フォント名(30 文字以下、chat_font_urlに含まれる名前と同じ名前の入力を推奨)
chat_font_weightstring-フォントの太さ(chat_font_urlに含まれる太さのみ適用される)
chat_font_colorstring-チャットテキストの色(hex)
chat_background_colorstring-チャット欄の背景色(hex)
chat_tab_font_colorstring-チャット欄タブメニューのテキスト色(hex)
chat_tab_background_colorstring-チャット欄タブメニューの背景色(hex)

ウォーターマーキング

画面にユーザー識別情報をオーバーレイし、不正録画および流出を防止します。

参考
  • 機能の有効化: ウォーターマーキング機能はデフォルトで無効になっています。この機能を有効化するには、営業担当者(jp_sales@catenoid.net)までお問い合わせください。
  • 改ざん防止: 外部スクリプト(JavaScript Injection)によるウォーターマークの毀損防止機能がデフォルトで適用されます。
オプションタイプデフォルト値説明
video_watermarking_code_policy.code_kindstring-ウォーターマーク表示テキスト
  • "client_user_id" を入力すると cuid が出力され、一般の文字列を入力するとそのテキストがそのまま出力されます。
video_watermarking_code_policy.font_sizeinteger7ウォーターマークテキストサイズ (px)
video_watermarking_code_policy.font_colorstring"FFFFFF"ウォーターマークの色(hex)
video_watermarking_code_policy.alphainteger200ウォーターマークの透明度(0〜255)
video_watermarking_code_policy.show_timeinteger1ウォーターマーク表示持続時間(sec)
video_watermarking_code_policy.hide_timeinteger60ウォーターマーク非表示持続時間(sec)
video_watermarking_code_policy.enable_html5_playerbooleanfalseKollus Web Player の使用有無
  • true: Kollus Web Player で再生されます。
  • false: App Player for Windows で再生されます。

使用例

チャット機能のカスタマイズ

{
"client_user_id": "catenoid",
"client_user_name": "guest_1",
"expire_time": 1893455999,
"live_media_channel_key": "vouww6hjt9xy9dnV",
"chatting_policy": {
"is_visible": true,
"is_admin": false,
"position": "right"
},
"chat_font_weight": "700",
"chat_font_color": "ffffff",
"chat_background_color": "333333",
"chat_tab_font_color": "00ff00",
"chat_tab_background_color": "777777"
}

ウォーターマーキングの適用

{
"client_user_id": "catenoid",
"live_media_channel_key": "vouww6hjt9xy9dnV",
"expire_time": 1893455999,
"client_user_name": "guest_1",
"video_watermarking_code_policy": {
"code_kind": "catenoid",
"font_size": 7,
"font_color": "FFFFFF",
"show_time": 1,
"hide_time": 500,
"alpha": 50,
"enable_html5_player": false
}
}