これらのガイドは、業種の概念を、プラットフォームに現在あるオブジェクト(ブーケ、回線、パッケージ、パートナーアカウント、ノード、API)に対応づけるものです。概念上の対応づけであり、業種専用の機能ではありません。また、パートナーアカウントは委任アカウントであり、分離されたテナントではありません。
概念の対応づけ
パネルには「科目」や「学生」と呼ばれるものはありません。下の表は、どのオブジェクトがどの役割を担うかを示しており、以降の章ではその順に設定します。
| あなたの業種では | プラットフォームでは | パネル内の場所 |
|---|---|---|
| 研修センターまたは販売パートナー | パートナーアカウント(リセラー):クレジット、権限、専用回線を持つ委任ダッシュボード | Users → リセラーを追加。権限は Groups で設定 |
| 科目コレクション | ブーケ:パッケージが付与する、チャンネル・映画・シリーズの名前付きセット | Bouquets。Streams と Movies / Series から作成 |
| 録画授業 | VOD カタログ:シーズンとエピソードを持つ映画とシリーズ、カテゴリ、メタデータ | Movies と Series、または VOD インジェストジョブ |
| ライブ授業 | ライブチャンネル:ソース、EPG、出力フォーマットを持つストリーム | Streams → ライブストリームを追加(ソース URL または RTMP プッシュ) |
| 学生のアクセス | 回線:パッケージ、ブーケ、有効期限、接続数の上限、出力を持つ1件のアクセス | Lines → 追加、またはアクティベーションコード、または Reseller API |
| 科目のアクセス期間 | 回線の有効期限。パッケージ、クレジット、API で更新されます | 回線の有効期限とパッケージの期間 |
| 同時セッション数の上限 | 回線の最大接続数:同時に視聴できる端末の数 | 回線の最大接続数 |
| LMS またはコマースとの連携 | Reseller API と Webhook:ご自身のシステムからパネルの操作を行う手段 | リセラーのダッシュボードにある Reseller API キーと Webhook |
前提条件
インストール前に用意するもの。
- キャンパスネットワーク上の Linux サーバー(Ubuntu 22.04 または 24.04)。Postgres、Redis、ffmpeg はインストーラーが導入します。あわせて、パネルとプレーヤー用のドメインまたは内部アドレスも用意します。
- 公開する録画(ファイル、または RTMP をプッシュできる収録システム)と、ライブ授業では配信する各教室のエンコーダー。
- ライセンスキー。Free プランには不要です。対象となる機関は、学術ドメインのメールから無料の Professional キーを申請します。
インフラの導入
管理サーバーをインストールし、続いて建物ごとにノードを追加します。
- 管理サーバーでインストーラーを実行します。パネル、API、ワーカー、オリジンを systemd ユニットとしてインストールし、最初の管理者を作成します。
- API の公開 URL(API_PUBLIC_URL)と再生のベース URL を設定し、プレーヤーのリンクがキャンパスのアドレスを指すようにします。
- 講義室が視聴する建物ごとに、Servers → ノードを追加 でノードを登録します。パネルがノード用パッケージから SSH 経由でインストールします。
- Servers ページを確認します。ノードがハートビートとトラフィックを報告し、その建物の視聴者がノードに振り分けられていれば完了です。
コンテンツの整理
科目はシリーズ、プログラムはブーケとパッケージにします。
- Movies / Series の下に、学部や科目ごとにカテゴリを1つ作成します。
- 各科目をシリーズとして追加します。モジュールごとに1シーズン、授業ごとに1エピソードとし、録画をソース(アップロードまたは VOD インジェストジョブ)にします。
- 追加したシリーズから、科目コレクションごとに1つのブーケを作成します(例:あるプログラムの1学期分の科目)。
- プログラムごとに1つのパッケージを作成します。付与するブーケ、期間としてのアクセス期間、同時セッション数の上限を設定します。
パートナー(リセラー)の設定
研修センターや学部を委任アカウントとして設定します。
- Groups で、センターに必要な権限(自分の回線のみ、カタログの変更なし)を持つグループを作成します。
- Users で、そのグループ、クレジット残高、配布できるパッケージを指定して、センターをリセラーとして追加します。
- ダッシュボードのアドレスを渡します。センターはそこから自分の学生を管理し、パネルは監査ログを保持します。
学生アクセスの設定
学生ごとに1つの回線を、登録時に作成します。
- 少人数のコホートでは、Lines → 追加 から、プログラムのパッケージを指定して回線を追加します。有効期限はパッケージの期間に従います。
- 登録日には、パッケージ用のアクティベーションコードを生成します。学生がプレーヤーでコードを使うと、回線が付与されます。
- 学生システムや LMS からは、Reseller API キーを作成し、システムに action=create_line と学生ごとのリクエスト ID で回線を作成させます。
- 最大接続数を、学生が同時に使える端末数に設定します。それを超える接続はプレーヤーが拒否します。
VOD の設定
録画授業をオンデマンドで提供します。
- 各録画をエピソードのソースとしてアップロードするか、VOD インジェストジョブにファイルを指定し、ワーカーにダウンロードとエンコードをさせてメディアルートに保存します。
- メタデータ(タイトル、説明、ポスター)は手入力するか、公開資料なら TMDB から取得します。授業の場合は通常、タイトルと説明だけで十分です。
- テスト用の回線で Web プレーヤーの再生を確認します。リンクは署名付きで、設定した時間が過ぎると期限が切れます。
ライブ授業の配信
講義をライブチャンネルとして配信します。
- Streams で、教室のエンコーダーをソース(RTMP プッシュ先のアドレスまたはプル URL)としてライブストリームを追加します。
- ストリームを科目のブーケに入れ、登録した学生だけに表示します。時間割を管理する場合は EPG にも追加します。
- 学生が後から授業を視聴できるようにするには、ストリームでキャッチアップまたはタイムシフトを有効にします。録画をエピソードとしてアップロードすることもできます。
サブスクリプションとアクセスの期限
科目の終了とともに終わるアクセス。
- パッケージにアクセス期間を期間として設定します。そこから作成した回線は、その期間の終了時に期限が切れます。
- 新しい学期の回線の更新は、パネルからセンターのクレジットで、または API の action=renew_line で行います。
- システムを Webhook に登録します。回線の期限が近づいたとき、期限が切れたとき、無効化されたときに通知されます。
外部 LMS との連携
LMS がアクセスを制御し、プレーヤーが再生します。
- LMS 用の Reseller API キーを作成し、LMS のシークレットに保管します。ページには決して置かないでください。
- 登録時に LMS がプログラムのパッケージとリクエスト ID を指定して action=create_line を呼び出し、退学時には action=disable_line を呼び出します。
- LMS の科目ページから Web プレーヤーへリンクするか、学生にプレーヤーの認証情報を渡します。両者の間にシングルサインオンはありません。
セキュリティ上の考慮事項
サービスを機関の内側に留めます。
- すべてのパネルアカウントで2要素ログインを有効にし、スタッフには動作する範囲で最小の権限グループを与えます。
- 学生の個人情報は学生システムに置きます。回線に必要なのは名前と有効期限だけです。
- 最大接続数は低く保ち、共有を防ぐために再生を視聴者のアドレスに紐づけることを検討してください。
- 暗号化データベースバックアップを有効にし、S3 互換ストレージがあればオフサイトコピーも有効にします。
トラブルシューティング
最初に確認する一般的なポイント。
- 学生がログインできない:回線の有効期限と有効状態を確認し、続いてパッケージと科目のブーケを確認します。
- 録画が再生されない:Jobs ページでインジェストジョブの結果を確認し、次にメディアルートのファイルと署名付きリンクの有効期限を確認します。
- 建物の視聴者がオリジンに接続している:ノードのハートビートと、視聴者のアドレスがノードのルーティング対象に入っているかを確認します。
- API が呼び出しを拒否する:キー、アクションのメソッド(書き込みは POST)、再試行した呼び出しのリクエスト ID を確認します。