OBSとAWSでライブ配信をする③
の続きです。
今回でおわりです。ではやっていき。
MediaLiveにアクセスして Channel を Create します

適当なチャンネル名をつけて、 テンプレートから適当なロールを作ります。
ここでは MediaLiveAccessRole をつくっています。

今回は、一旦配信ができてしまえばいいので、設定を詳しくいじる必要はありませんが、
Channnel class だけはSINGLEにしておきます。STANDARDだとお金がちょっとかかるからです。

次に Input attachments をいじっていきます。

Input に、記事①で作成した input を指定して、 Confirm します。これだけです。
Input は、複数指定しておくことで、ライブ中に切り替える事もできます。スタジオからの放送と現地からの放送みたいのをスイッチするのに有用でしょう。現地のカメラ2台のスイッチはOBSやミキサでやってしまえば良いと思います。
次は Output groups をいじっていきます。
ライブ配信するのが目的なので、HLSを選択します。
S3にアーカイブを残したければ Archive を選択することもできます。

HLSの出力先を入力します。
②でゲットしたMediaStoreのURLを入力します。
https://xxxxxxx.data.mediastore.<region>.amazonaws.com/ というURLが得られているはずですが、プロトコル部分を mediastoressl:// 書き換えて入力します。
また、末尾に適当な文字列をくっつけます。今回は livestream としましたがなんでもいいです。 これが配信ファイルのファイル名になります。

適当に設定して

Create channel 。
で、 Channel を Start

チャンネルを起動するのには~30秒ぐらい時間がかかります。


Status が Running になったら勝ちです。
OBSで配信の設定をして、


配信を開始すると、

MediaStoreに配信ファイルが生え始めるので、.m3u8 ファイルにアクセスしてみます。

safari では、ブラウザでHLSが直接閲覧できるのでsafariで開いてみます。 Windows の方は VNC とかインストールしてみてみるといいんじゃないでしょうか。

はい勝ち。
遅延が気になる方は

Channel のこのへんの設定をいじるといいって https://aws.amazon.com/jp/premiumsupport/knowledge-center/medialive-reduce-latency-hls-delivery/ に書いてありました。
Segment Length は細切れの動画( .ts )の細切れ度合いです。1秒に設定すれば、クライアント側での遅延(取得から再生されるまでの遅延)が最小化できます。
Num Segments は目次ファイル( .m3u8 )に掲載する、動画セグメントファイルの数です。
Keep Segments は MediaStorage に過去何セグメントまで残すかの数です。直接遅延には関係しませんが、 .m3u8 ファイルを取得してから ts ファイルの取得 までに大きくラグがある環境に対しては、これをちょっと大きめにしておかないと、「tsファイル取りに行ってみたけどすでに消えていた」ということになりかねません。
ま、あといろいろ設定項目はすっ飛ばしてきてますので、振り返っていじっていくと素敵な配信ができるんじゃないでしょうか。
でわでわ。

