[新機能] AWS Elemental MediaLiveでRTMPとRTMPS出力がサポートされました!

AWS Media Servicesの1つでライブ動画処理サービスであるAWS Elemental MediaLiveにRTMPとRTMPS出力がサポートされるというアップデートがありました。
2018.04.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

清水です。AWS Media Servicesの1つであるAWS Elemental MediaLive、これまでもいくつか機能アップデートがありましたが、先日さらにRTMPとRTMPSの出力がサポートされるというアップデートがありました。

RTMP形式のストリーミングははエンドユーザへの配信では最近はあまり使われなくなりました。しかしライブストリームの伝送、例えばカメラ、マイクを接続したPC上の配信ソフトウェアからAWS Elemental MediaLiveへの伝送、その他ライブ配信プラットフォームへの伝送では頻繁に使われる形式です。今回、AWS Elemental MediaLiveがRTMP/RTMPSでの出力をサポートしたことは、AWS Elemental MediaLiveをハブのように使い、別のライブ配信プラットフォームへの映像伝送も可能になったと考えることができます。実際、マネージメントコンソールからRTMP Push形式のtemplateを確認すると、YouTube、Facebook、Twitchへの出力のサンプルがありました。これらのプラットフォームにライブ配信を行いながら、かつ、これまでのようにAWS Elemental MediaPackageやAWS Elemental MediaStoreなどAWS Media Servicesとの連携、またS3へのアーカイブ出力などが行えます。

本エントリではこのRTMP Output機能を使用して、AWS Elemental MediaLiveの出力をYouTube Liveに送信、YouTube側でライブ配信を視聴することを試してみたのでまとめてみます。

AWS Elemental MediaLiveからのRTMP Outputを受信するYouTube Liveの設定

YouTubeのクリエイターツールから「ライブストリーミング」 > 「イベント」で新しいライブ イベントを作成します。

ライブ イベント作成後、「取り込み設定」にてストリームキーを生成します。今回は「1回限りのストリームキー」を選択しました。エンコーダーは「その他のエンコーダ」を選択します。ストリーム名、URLは後ほどMediaLive側に設定するので控えておきます。

RTMPを出力するAWS Elemental MediaLiveの設定

続いて、MediaLiveでRTMP出力を設定します。マネージメントコンソールからCreate Channelで進みます。Channel templateに"RTMP Push"の項目がありますね。今回はこちらから設定していきます。

Channel templateの"RTMP Push"を選択すると、以下のようにOutput groupsにYouTube、Facebook、Twitchの3つのRTMP出力先が作成されます。

ここからYouTubeの"Output 1"を設定します。RTMP destination Aに先ほどのYouTube Liveのライブ イベントのプライマリ サーバーのURLとストリーム名、RTMP destination Bにはバックアップ サーバーのURLとストリーム名を入力してみました。FacebookとTwitchのRTMP Output設定は使用しないので削除しておきます。[Create Channel]MediaLiveのChannelを作成します。

配信ソフトウェアからAWS Elemental MediaLiveに配信してYouTube Liveでの映像視聴を確認する

設定ができたので、配信ソフトウェアからMediaLiveに映像を流し、MediaLiveを経由してYouTube Liveでの映像視聴をしてみます。MediaLiveのChannelをStartさせ、配信ソフトウェアから映像を流します。今回はOBS Studioを使用しました。配信先は以下のように、MediaLiveのInputのEndpointになります。

OBS Studioからの配信を開始したら、YouTube Liveのライブコントロールルームでプレビューを確認しましょう。プレビューボタンで開始します。

プレビューの準備ができたら、プレビュー映像を視聴してみましょう。プレビュー欄のPlayerの再生マークをクリックします。プレビューで問題なければ、[ストリーミングを開始]ボタンで本番ストリーミングを開始します。

MediaLiveに流している映像がYouTube Liveで視聴できるのは不思議な感じですね!

まとめ

AWS Elemental MediaLiveの新機能、RTMP/RTMPSの出力サポートを使って、AWS Elemental MediaLiveからYouTube Liveに映像を配信、YouTube Liveで視聴をしてみました。今回AWS Elemental MediaLiveのOutputはYouTube LiveへのRTMP出力のみを設定しましたが、他AWS Media Servicesとの連携やS3へのアーカイブ出力などと組み合わせると、いろいろとできることが広がりますね!また未検証ですがWowza Streaming Engineなど他のストリーミングサーバとの連携もできるのではないでしょうか。とっても魅力的な機能アップデートと思います。

なお、今回のAWS Elemental MediaLiveのRTMP Output対応ですが、昨年末に「この機能はないのか?」というフォーラムの記事(質問)があり、当時は「現時点ではサポートされていないので、サポートセンターから機能追加のリクエストしておいて。」という回答でした。この度めでたく、この機能が追加されたことになりますね!