見出し画像

チケットを購入者のみが視聴できる動画配信プラットフォームを作る【AWS】

-まえがき-

※↑noteの連載で達成することはこちらから

ー本編ー

ストリーミング配信のサービスを運用していくためには、違法ダウンロードなどの権利を守るための対策が必要不可欠になります。
今回は実際にチケット購入で動画視聴できるプラットフォームのシステムを作っていこうと思います。

作成するもの

AWSを使って実際に「チケットを購入した人だけが視聴できる動画配信プラットフォーム」を作っていきます。
会員登録⇒チケット購入⇒動画視聴、という流れのものです。

例としては、以下のようなライブ配信サイトの仕組みのイメージです。
https://t.pia.jp/pia/events/pialivestream/

配信プラットフォームについて

今回作成するプラットフォームで、映像コンテンツを視聴するための条件は以下の形になります。

作成するもの

購入した人のみが、マイページの特定のURLからのみ視聴できるようなプラットフォームを作っていきます。
上の図の項目を満たさない人は映像コンテンツにアクセスできないように保護するための実装を行っていきます。

AWSを使った構成について

配信のプラットフォームはAWSを使用して構築していきます。
構成は以下の形です。
コンテンツ保護に関する処理はポイント1、2、3と記載をしています。

AWSでの配信

配信までの流れは
① 映像をMediaLiveに入力
② MediaPackageで映像をパッケージ化
③ MediaPackageで処理する際に、動画を暗号化する
④ CloudFrontと連携
⑤ 動画を配信
⑥ ユーザーが復号化キーを取得して映像を視聴
という形です。

今回作成する動画配信プラットフォームはコンテンツの保護を厳重なものとするために、以下の項目をポイントに設定していきます。

ポイント1:署名付きCookie
配信したいユーザーにだけCookieを設定しておき、そのCookieが存在すればアクセスできるという仕組み。
今回の場合、チケットの購入が完了した時点で、ユーザーにCookieがセットされる。これによって、動画コンテンツにアクセスが出来るようになる。

ポイント2:リファラ―制限
動画コンテンツにアクセスする時に、直前にアクセスしたページがどこかによって、アクセスを制限すること。
今回の場合は、購入したユーザーのマイページのURLが設定されるようにする。

ポイント3:SPEKEキーサーバー
動画コンテンツの暗号化のキー、復号化のキーを管理していて、引き渡しを行うところ。
今回の場合、チケット購入したユーザーが再生する際にここにリクエストを送ることによって動画コンテンツを復号化するためのキーが渡されて、再生ができるようになる。

明日から実際にポイント1からコンテンツ保護の実装を進めていきます。


この記事が気に入ったらサポートをしてみませんか?