ステップ 5: ストリーミングソフトウェアの設定 - Amazon Interactive Video Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 5: ストリーミングソフトウェアの設定

以下の方法で Amazon IVS にストリーミング (低レイテンシー) できます。

  • RTMPS をサポートする、ネイティブの IVS Broadcast SDK。特に本稼働シナリオでは、こちらをお勧めします。

  • Amazon IVS コンソール – ストリームのテストに適しています。

  • その他のストリーミングソフトウェア – Open Broadcast Software (OBS)FFmpeg の 2 つの例について以下で説明します。これらは、Amazon IVS 同様に RTMPS および RTMP をサポートしています。RTMPS は、暗号化された TLS ストリームを使用して、高セキュリティを実現します。RTMPS または RTMP をサポートする任意のストリーミングソフトウェアを使用できます。

キーエンコーダの設定は、キーフレーム間隔(2 秒)と解像度/ビットレート/フレームレート(相互に関連する)です。エンコーダ設定の詳細については、次を参照してください。

注意:

  • Amazon IVS ストリームの最大継続時間は 48 時間です。その後、ストリームは終了し、ストリーミングセッションは切断されます。(自動または手動で) 正常に再接続すると、新しいストリームが開始されます。

  • エンコーダーが (一時的なネットワークの問題などの原因で) データの送信を停止した場合、Amazon IVS は 30 秒間待機します。この間にブロードキャスターのデータが受信されない場合、Amazon IVS の接続が解除されます。

Amazon IVS Broadcast SDK によるストリーミング

iOS または Android アプリケーションからブロードキャストするには、Amazon IVS Broadcast SDK を使用できます。ブロードキャスト SDK は Amazon IVS アーキテクチャを活用し、Amazon IVS と共に継続的な改善と新しい機能を見ていきます。ネイティブのモバイルブロードキャスト SDK として、アプリケーションおよびユーザーがアプリケーションにアクセスするデバイスに対するパフォーマンスへの影響を最小限に抑えるように設計されています。

以下からブロードキャストするには..。 以下を使用できます..。 メモ
Android または iOS アプリケーション Amazon IVS Android または iOS Broadcast SDK ネイティブのモバイルブロードキャスト SDK として、アプリケーションおよびユーザーがアプリケーションにアクセスするデバイスに対するパフォーマンスへの影響を最小限に抑えるように設計されています。
ウェブ環境 Amazon IVS Web Broadcast SDK Web Broadcast SDK として、Amazon IVS Web Broadcast SDK を使用すると、WebRTC を使用してウェブ環境からブロードキャストできます。クロスブラウザとクロスプラットフォームをサポートします。

詳細については、「IVS Broadcast SDK (低レイテンシーストリーミング)」を参照してください。

Amazon IVS コンソールを使用したストリーミング

  1. Amazon IVS コンソールを開きます。

    (AWS マネジメントコンソールから Amazon IVS コンソールにアクセスすることもできます。)

  2. ナビゲーションペインで、[チャンネル] を選択します。(ナビゲーションペインが折りたたまれている場合は、ハンバーガーアイコンを選択して展開します)

  3. ブロードキャスト先のチャネルを選択し、その詳細ページに移動します。

  4. [ブロードキャスト] タブを選択します。(これらのタブは、[一般的な設定] セクションの下にあります)

  5. カメラとマイクへの IVS コンソールアクセスを許可するように求められます。これらの権限を許可してください。

  6. [ブロードキャスト] タブの下部にあるドロップダウンボックスを使用して、マイクとカメラの入力デバイスを選択します。

  7. ストリーミングを開始するには、[ブロードキャストを開始] を選択します。

  8. ライブストリームを視聴するには、[再生] タブに移動します。

    : ストリームを開始した後、[再生] タブで視聴できるようになるまでに、短い遅延 (通常は 30 秒未満) が発生することが予想されます。

この機能を使うと、複数のチャネルに同時にブロードキャストできます。

: コンソールからのストリーミングはリソースを消費するため、ライブ動画入力コストが発生します。詳細については、「IVS 料金表」の「ライブ動画入力にかかるコスト」を参照してください。

OBS Studio によるストリーミング

(OBS Studio) は、録画およびライブストリーミングに適した無料のオープンソースソフトウェアです。OBS Studio は、リアルタイムのソースとデバイスのキャプチャ、シーンの構成、エンコーディング、記録、ストリーミングを提供します。

OBS Studio を起動して実行するには、次のステップに従います。

  1. ソフトウェアをダウンロードしてインストールします: https://obsproject.com/download

  2. OBS Studio を初めてロードするときに表示される、OBS Studio の自動設定ウィザードを実行します。ステップに従い、デフォルト値を受け入れます。

  3. [ストリーム情報] で、[サービス] ドロップダウンから [カスタム...] を選択し、[サーバー (取り込みサーバー)][ストリームキー] を入力します。

    Amazon IVS コンソールでチャネルを作成した場合:

    • OBS で入力するサーバーは、コンソールの取り込みサーバーです。

      rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/

    • OBS で入力するストリームキーは、コンソールのストリームキーです。

      sk_us-west-2_abcd1234efgh5678ijkl

    AWS CLI でチャネルを作成した場合:

    • OBS に入力するサーバーは、以下の 4 つの組み合わせです。

      • 取り込みプロトコル: rtmps:// (注: 安全でない取り込みストリーミング用のチャネルを作成した場合は rtmp:// を指定してください)

      • CLI レスポンスからの IngestEndpoint:

        a1b2c3d4e5f6.global-contribute.live-video.net

      • ポート: 443

      • パス: /app/

      完全なエントリは次のとおりです。

      rtmps://a1b2c3d4e5f6.global-contribute.live-video.net:443/app/

    • OBS で入力するストリームキーは、CLI レスポンスの StreamKey 値です。

      sk_us-west-2_abcd1234efgh5678ijkl

  4. 動画出力の解像度ビットレートについては、「Amazon IVS ストリーミング設定」の「チャネルタイプ」を参照してください。OBS ウィザードで選択したいずれかの値が Amazon IVS で許可されている値を超える場合は、Amazon IVS への接続に失敗しないように手動で値を調整する必要があります。ウィザードの完了後、次の操作を行います。

    1. 動画の解像度を調整するには、[Settings > Video > Output (Scaled) Resolution] (設定 > 動画 > 出力 (スケーリング) 解像度) を使用します。

    2. 動画のビットレートを調整するには、[Settings > Output > Streaming > Video Bitrate] (設定 > 出力 > ストリーミング > 動画ビットレート) を使用します。

  5. ストリームの安定性を高め、ビューア再生時のバッファリングを回避するために、2 秒間のキーフレーム間隔をお勧めします。ウィザードが完了したら、[Settings > Output > Output Mode] (設定 > 出力 > 出力モード) に進み、[Advanced] (アドバンスト) を選択し、[Streaming] (ストリーミング) タブで [Keyframe Interval] (キーフレーム間隔) が 2 になっていることを確認します。

  6. OBS Studio のメインウィンドウで、[Start Streaming (ストリーミングの開始)] を選択します。

OBS Studio によるストリーミングの詳細については、OBS Studio Quickstartを参照してください。

OBS の設定は後で手動で変更できます。

  1. [Settings (設定) > Stream (ストリーム)] を選択します。

  2. ドロップダウンから、[Custom (カスタム)] を選択します。

  3. サーバーおよび/またはストリームキーに貼り付けます。

ウィザードはいつでも再実行できます。[Tools (ツール) > Auto-Configuration Wizard (自動構成ウィザード)] を選択してください。

オプションで、ライブストリームをSettings (設定) > General (全般)にローカルに保存することで、後で使用できます。前述のように、ブロードキャストと AWS 間または AWS 内のネットワークの問題により、ストリームの録画中にデータが失われる可能性があります。このような場合、Amazon IVS は録画よりもライブストリームを優先します。ストリーミングツールでローカルに録画することで、冗長性が得られます。

OBS Studio のアップデートを定期的にチェックして、最新バージョンに更新することをお勧めします。(例えば、「Failed to connect to server (サーバーへの接続に失敗しました) 」というエラーが表示された場合は、RTMPS をサポートしていない古いバージョンの OBS Studio を使用している可能性があります。)

FFmpeg による録画動画のストリーミング

以下のステップに従ってください。

  1. FFmpeg をダウンロードしてインストールします。https://www.ffmpeg.org/download.html

  2. $VIDEO_FILEPATHをストリーミングする MP4 動画の場所に設定します。

    VIDEO_FILEPATH=/home/test/my_video.mp4
  3. STREAM_KEY を StreamKey に設定します。

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  4. (ingestEndpointINGEST_ENDPOINT を設定します (AWS CLI から)。

    INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
  5. 次のターミナルコマンドでストリーミングを開始します (これはすべて 1 行です)。

    ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY

    上記のコマンドは一例です。プロダクションストリーミングの場合は、必要に応じてパラメータを調整します。