Amazon Web Services ブログ
ライブストリーミングチャンネルをAWS Elemental MediaLive Workflow Wizardで素早く作成する
モバイルの視聴者やウェブサイトに向けて様々な用途でビデオをストリーミングする必要性が高まっています。AWS Elemental MediaLiveは、自動化されたWorkflow Wizardを提供し、数回クリックするだけでライブストリーミングのワークフローを作成することができます。これにより、教育関係者、マーケティング担当者、社内広報チームなどが、ビデオストリーミング技術に関する深い知識がなくても、簡単に大規模なビデオコンテンツを共有できるようになります。
AWS Elemental MediaLive Workflow Wizardを使えば、ビデオ処理の専門家でなくても、またAWS Media Servicesの使用経験がなくても、すぐにライブ配信始めることができます。この記事では、新しいAWS Elemental MediaLive Workflow Wizardを使用して、エンドツーエンドのライブストリーミングチャネルを迅速に構成するためのステップバイステップのガイダンスを提供します。
前提条件
次のサービスにアクセスできる権限を持ったAWSアカウントが必要です。
- AWS Elemental MediaLive
- AWS Elemental MediaPackage
- Amazon CloudFront
- AWS CloudFormation
- Amazon Simple Storage Service (Amazon S3)
- AWS Identity and Access Management (AWS IAM)
はじめに
- AWS Management Consoleを開きます
a. AWS Management Consoleの使い方はこちらを参照ください。 - ご利用のユーザークレデンシャルでログインします
- ”MediaLive”を検索し開きます
- メニューのトップからmenuを選択します
- Workflow Wizardを選択します
- Workflow Wizardで、Create workflow ボタンをクリックし設定を開始します
概要:
Step 1 – ワークフローの基本情報を入力
Step 2 – ビデオソースを選択
Step 3 – ビデオアウトプットを入力
Step 4 – リソースをレビュー・作成
Step 5 – ビデオソースを入力
Step 6 – ビデオをストリーム
Step 1 – ワークフローの基本情報を入力
- Workflow名を入力します
a. この例では、 LiveChan1としています - MediaLive channel classからSINGLE_PIPELINEを選択
- MediaLive channelを始めて作成する場合、下記のようにMediaLiveのロールを作成します
a. Create role from templateラジオボタンを選択
b. ロールに与えられた権限をレビュー
c. Create IAM role ボタンをクリック
MediaLiveロールが既に存在する場合
a. Use existing role ラジオボタンを選択
b. MediaLiveAccessRole または作成済みのMediaLiveロールを選択
4. オレンジのNextボタンをクリック
Step 2 – ビデオソースを選択
このステップでは、MediaLiveチャンネルの入力ソースを設定します。AWS Elemental MediaLive Workflow Wizardでは、RTMP、Elemental Link、AWS Elemental MediaConnect、またはMP4の中から入力を選択することができます。この例ではRTMPを使用します。RTMPのストリーム形式は、以下のような多くのアプリケーションやデバイスでサポートされています:OBS(Open Broadcaster Software)、Zixi OnAir、Wirecast、Xsplit、Teradek、Epiphan、GoPro。この例ではこのチャンネルのビデオソースとして、内蔵のウェブカメラを使用するノートパソコンにOBSをロードします。このソフトウェアは https://obsproject.com/download からダウンロードできます。
- RTMP (push) ラジオボタンを選択
- Create a new input を選択
- RTMP Application nameを入力しApplication instanceをチャンネルに追加
a. このデモでは「rtmplive1」と「inputa」をパラメータとして利用 - Input Security Groupの作成を選択
a. このセクションではビデオソースのネットワークセキュリティパラメータを提供します。ここではOBSソフトウェアを実行しているラップトップのIPアドレスを指定しています。ラップトップのIPアドレスを調べるには、http://checkip.amazonaws.com のようなオンラインサービスを利用して、WebブラウザでIPアドレスを返すことができます。このアドレスのみをCIDR表記形式で入力し(例:xxx.xxx.xxx.xxx/32)、「Create input security group」ボタンをクリックします。 - Input codecとInput resolution はデフォルト値のままで
- Maximum Input bitrate のドロップダウンからMAX_10_MBPSを選択
- オレンジのNext ボタンをクリック
Step 3 – ビデオアウトプットを入力
ワークフローウィザードでは、AWS Elemental MediaPackageやAWS Elemental MediaStoreを使ったストリーム・オリジネーションや、Facebook、YouTube、Twitterなどのソーシャルメディア・プラットフォームへのダイレクトストリーミングなど、いくつかの異なる出力タイプから選択することができます。この例では、出力タイプとストリーム生成にMediaPackageを使用しています。
ここでは視聴者に提供するために作成する出力解像度とビットレートを決定します。HTTP Live Streaming(HLS)は、Adaptive Bit Rate(ABR)プロトコルの一つで、ビットレートの異なる複数のバージョンのストリームを作成し、ビデオプレーヤーがネットワークの帯域幅に応じて切り替えられるようにします。この例では低ビットレート、中ビットレート、高ビットレートの3つのレンディションをABRセットで使用しています。ワークフローウィザードでは、一般的なレンディションを選択することができます。
注:各レンディションは、ストリーミングチャネルを作成した後に変更することができます。
- Choose outputsドロップダウンリストからMediaPackageを選択
- Video QualityドロップダウンリストでSTANDARD_QUALITYを選択
- Create a new channel でMediaPackage ラジオボタンを選択
- Video renditions リストでX を選択し、最大の720p60を削除
- オレンジのNextラジオボタンを選択
Step 4 – リソースをレビュー・作成
それぞれのステップで実施した設定を確認します。エラーを発見したり、何かを変更したい場合は、対応するステップの「Edit」ボタンをクリックして必要な変更を行います。選択内容に問題がなければ、オレンジの「Create workflow resources」ボタンをクリックします。
確認画面で「Create workflow resources」をクリックします。
ワークフローが作成されたら次のようなスクリーンが表示されます。
チャネルの準備が整うと「Start workflow」ボタンがオレンジ色に変わります。後でこのページに戻りステップ6でチャンネルを開始します。
注:ワークフローリソースの作成ステップでCREATE_FAILEDのエラーメッセージが表示された場合は、ワークフロー名(この例ではLiveChan1)をクリックして、何が失敗したのかを確認し、修正措置を施してから再試行してください。サービス利用の履歴がない新規のAWSアカウントが、AWS Media Servicesを初めて利用する際にCREATE_FAILEDエラーメッセージが表示されることがよくあります。AWS Media Services の使用は、AWS アカウントが Amazon Elastic Compute Cloud などの他のサービスで初期使用量に到達するまで制限される場合があります。
Step 5 – ビデオソースを入力
ストリームチャンネルのワークフローが作成されたら、そのワークフローが作成するMediaLive Inputの情報をOBSアプリケーションで使用します。MediaLive Workflowの中で、MediaLive Inputというタイルから「Link to resource ID」をクリックします。
RTMPエンドポイントにURLを入力します。ネットワークアドレスは、OBSアプリケーションのものをご利用ください。
「Step 2 – ビデオソースを選択」で述べたように、ストリーミングチャンネルにビデオソースを提供するために使用できるツールがいくつかあります。この例では、ラップトップで動作するオープンソースのソフトウェアベースのエンコーダーであるOBSを使用しています。OBSは、先ほど作成したAWS Elemental MediaLive InputにRTMPストリームを送ることができます。
- OBSをダウンロード、インストールし開く
- 「+」からVideo Capture DeviceをSourceに追加し、PC Camera をデバイスとして選択。 OKをクリック。
- 右下のSettings ボタンからVideoメニューを開き、Output resolutionに1280×720、30 fpsを設定
- Stream メニューにMediaLive RTMP inputを入力.
注: OBS用MediaLive Input を2つに分けています。
· Server: rtmp://23.32.38.100/rtmplive1/
· Stream Key Field: inputa - Output Menuを選択し、Video Bitrateを3000 kpsに設定、Audio Bitrate を192kbpsに設定
Step 6 – ビデオをストリーム
AWS Elemental MediaLiveコンソールとLiveChan1Workflowビューがあるブラウザーページに戻り、オレンジのStart workflowボタンをクリックします。ワークフローは通常、開始するのに1〜5分かかります。
ワークフローが実行されていることを検証する場合は、MediaLive Channelボックスの「Link to resource」をクリックします。これにより、LiveChan1 MediaLiveコンソールが表示されます。実行中のパイプラインが緑色で表示されていることを確認します。注:アクティブアラートは赤で表示され、OBS RTMPビデオソースが開始されてライブビデオが送信されるまで、いくつかのアラートが表示される場合があります。
チャネルが開始されると、OBSを使用してラップトップからストリーミングを開始できます。右下の「Start Streaming」ボタンをクリックします。 RTMPストリームが実行されていることを確認します。
注:一部の企業ネットワークはポート1935をブロックします。接続に問題がある場合は、非企業ネットワークから接続するか、VPNソフトウェアを切断してみてください。
MediaLive LiveChan1トップレベルワークフローウィザードコンソールに戻ると、「Stop Channel」ボタンと「Start Channel」ボタンを使用して、ストリーミングチャンネルを停止および開始できます。
AWS Elemental MediaLive Workflow Wizard 結果
MediaLiveワークフローウィザードの出力は、AWS Elemental MediaLive、AWS Elemental MediaPackage、およびAmazonCloudFrontをデプロイするライブストリーミングチャネルとなります。 ラップトップでOBSソフトウェアを使用すると、ラップトップのカメラ出力がRTMPプロトコルを使用してMediaLiveチャネルに送信されます。
MediaLiveは、3つのレンディションを持つABR HLSストリームをAWS Elemental MediaPackageに提供します。 作成されるMediaPackageエンドポイントには、HLS、DASH、CMAFの3つがあります。 それぞれが、各ABRプロトコルに基づいて、ライブストリームのジャストインタイム(JIT)パッケージを提供します。 Amazon CloudFrontは、ストリームの視聴者が使用するクライアントプレーヤーデバイスから受信したリクエストに基づいて、これらのエンドポイントからライブコンテンツをリクエストします。
ライブストリームへアクセス
クライアントデバイスは、さまざまなABRプロトコルに関連付けられたAmazon CloudFrontベースのURLの1つをリクエストすることで、ライブストリームにアクセスできるようになりました。 HLSストリームをリクエストする方法は次のとおりです(DASHストリームとCMAFストリームにも同様の手順を使用できます)。
- MediaLive WorkflowsスクリーンでLiveChan1ワークフローを選択するとChannel Wizardで作成された全てのコンポーネントを確認できます。
- MediaPackage HLS Endpoint ボックスでLinkを選択
- Playback Previewボックスの「Play」をクリックすると、OBSストリーミングソフトウェアからのビデオが表示されます。
- 右上のボックスには、2つのURLがリストされています。 CloudFront URL(index.m3u8で終わる)をコピーして、Webまたはモバイルデバイスのビデオプレーヤーに貼り付けます(SafariとMicrosoft EdgeはHLSストリームを再生し、アドレスバーにindex.m3u8ファイルへのリンクを入力するだけです)。 これは、このワークフローで作成されたライブストリームを表示するために、ストリームの視聴者がプルダウンする必要があるURLです。 AWS Elemental MediaPackageからAmazonCloudFrontへの出力であるEndpoint URLを提供しないように注意してください。
MediaLiveワークフローウィザードは、ライブストリーミングチャネルの構築に使用されるAWS CloudFormationテンプレートになります。 このテンプレートを使用すると、元のチャネルと同じ構成で、追加のチャネルをすばやく作成できます。 今後の投稿では、MediaLive Workflow Wizardによって作成されたAWS CloudFormationテンプレートの使用を確認し、ワークフローへの他の入力と出力の使用について詳しく説明します。
AWSはAWS Media Servicesで構築された、複数のライブストリーミングチャネルを監視するために使用できる補完的なツールを提供します。Media Service Application Mapper(MSAM)は、作成されたライブストリーミングチャネルごとにAWS MediaServicesのビジュアルマップを提供します。
クリーンナップ
MediaLiveストリーミングチャネルを使用していない時は、MediaLiveワークフローを停止することを忘れないでください。 これにより、非アクティブ時にチャネルにコストが発生するのを防ぎます。 チャネルを停止するには、MediaLive Workflow Wizard パネルに移動し、LiveChan1ワークフローを選択して、「Stop Workflow」 ボタンをクリックします。 ストリーミングチャネルは、ワークフローコンソールで「Start Workflow」を選択することにより、いつでも再開できます。 さらに、アプリケーションをライブビデオソースとして使用しない場合は、ラップトップでOBS出力を必ず停止してください。
まとめ
AWS Elemental MediaLiveワークフローウィザードを使って、フルマネージドのAWS Media Servicesで簡単な手順でエンドツーエンドのライブストリーミングチャンネルを作成することができます。ワークフローウィザードはモバイルデバイスやウェブアプリケーションで利用可能なライブビデオストリームの迅速なセットアップと自動プロビジョニングを可能にし、ソーシャルメディアに直接ストリームを配信することもできます。
AWSではメディア関連のワークフロー構築を支援するサービスが増えています。 AWSサービスを利用したビデオのストリーミング、処理、および配信に関するその他のアプリケーションについては、AWSのMedia Servicesをご覧ください。
質問やフィードバックがある場合や、他のコミュニティメンバーとの議論に参加したい場合は、AWS Developer Forums: Media Servicesをご覧ください。
参考リンク
AWS Media Services
AWS Media & Entertainment Blog (日本語)
AWS Media & Entertainment Blog (英語)
AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。
翻訳は BD山口とSA斎藤が担当しました。原文はこちらをご覧ください。