MediaLiveでライブ配信システムを構築する
Posted: | Categories: AWS | Tags: Cloudfront, LiveShell, MediaLive, MediaStore
ライブ配信システムの構成
映像データは下記のように流れる。
カメラ、マイク -> ローランドの映像ミキサー -> LiveShell X -> MediaLive -> MediaStore -> CloudFront -> 各プラットフォームのプレーヤー
この手順では、MediaLive、MediaStore、CloudFrontの設定について行う。
このうち、MediaLiveには
- インプット( LiveShell X からの RTMP を受け取る )
- チャンネル( 映像データをエンコードする ) で構成されている。
またMediaStoreはストレージで、MediaLiveでエンコードされたデータを保存する領域になっている( MediaLive だけでは映像を保存できない、かならず別の保存する領域に転送する必要がある )
CloudFrontは大規模配信で使われるCDNで、 複数ユーザにキャッシュを見せる事で、MediaStoreの負荷を下げるために用いている。つまりCloudFront無しでも配信は可能だが、CloudFront無しだとライブ授業のユーザー数には耐えられないため、導入しておいた方がよい。
MediaStore( 映像チャンク置き場 )を作る
MediaStoreは「MediaLiveでエンコードされた映像のチャンクを置く場所」として必要( MediaLiveにはストレージが無いので、別途つくる必要がある ) MediaLiveを作る際にMediaStoreのアドレスを指定する必要があるので、事前に作成する。
チャンネルを作成する
MediaLiveで映像データをエンコードするチャンネルを作成する
管理画面 からログイン
設定例
入力名: dev 入力タイプ: RTMP (プッシュ) Network mode: Public 入力セキュリティグループ: 既存の使用、0.0.0.0/0 入力の送信先: SINGLE_PIPELINE
[チャンネルの作成] をクリック
( その環境にMediaLive用のロールが無ければ作る必要があるので )テンプレートからロールを作成する
チャンネルテンプレートは[ Live Action ]をベースに作成する事にした。 ( このテンプレートの内容は時代によって変わるようだ。以前よりテンプレートも増えているし内容も異なる )
[ Channel class ] は [ SINGLE PIPELINE ]を選択する。 標準では[ STANDARD ]になっているが、正しく冗長化を試みるとなると、インターネット回線を2つ用意するような話になるので、シンプルに[ SINGLE PIPELINE ]で設定する。
Read more...