IVS RTMP パブリッシュ | リアルタイムストリーミング
このドキュメントでは、RTMP を使用して IVS ステージに公開するプロセスの概要を説明します。さまざまな取り込みオプションの詳細については、「ストリームの取り込み」ドキュメントを参照してください。
前提条件
ステージの作成
ステージを作成するには、以下のコマンドを使用します。
aws ivs-realtime create-stage --name "test-stage"
レスポンスを含む詳細については、「CreateStage」を参照してください。
重要: レスポンスで、RTMP エンドポイントと RTMPS エンドポイントの両方を一覧表示する endpoints
フィールドを書き留めます。これらは RTMP エンコーダーのセットアップに必要です。
取り込み設定を作成する
RTMPS を使用してステージに公開するには、まず取り込み設定を作成し、ステージに関連付ける必要があります。ステージに公開すると (取り込み設定のストリームキーとステージの RTMP エンドポイントを使用)、メディアは参加者としてステージに公開されます。userId
およびカスタム attributes
を指定するオプションがあり、ステージに接続する参加者に関連付けられます。
aws ivs-realtime create-ingest-configuration \ --name 'test' \ --stage-arn arn:aws:ivs:us-east-1:123456789012:stage/8faHz1SQp0ik \ --user-id '123' \ --ingest-protocol 'RTMPS'
レスポンスを含む詳細については、「CreateIngestConfiguration」を参照してください。
取り込み設定を作成するときは、事前に特定のステージ ARN に関連付けることができます。この関連付けがない場合、ストリームキーは使用できません。また、インジェスト設定 (stageArn
フィールドを含む) は UpdateIngestConfiguration オペレーションを介して更新できるため、異なるステージで同じ設定を再利用できます。
注: 取り込み設定 insecureIngest
フィールドはデフォルトで false
になり、RTMPS を使用する必要があります。RTMP 接続は拒否されます。RTMP を使用する必要がある場合は、insecureIngest
を true
に設定します。RTMP を必須とする特定の検証済みのユースケースがない限り、RTMPS の使用をお勧めします。
RTMP シングルトラックビデオ
ここでは、OBS Studio の使用方法を示しますが、IVS メディア仕様を満たす任意の RTMP エンコーダを使用できます。
OBS ガイド
-
ソフトウェアをダウンロードしてインストールします: https://obsproject.com/download
。 -
[設定] をクリックします。[設定] パネルの [ストリーム] セクションで、[サービス] ドロップダウンから [カスタム] を選択します。
-
[サーバー] には、ステージから RTMP または RTMPS エンドポイントを入力します。
-
ストリームキー には、取り込み設定から
streamKey
を入力します。 -
ビデオ設定を通常どおりに設定します。いくつかの制限があります。
-
IVS Real-Time Streaming は、8.5 Mbps で最大 720p の入力をサポートします。これらの制限のいずれかを超えると、ストリームは切断されます。
-
[出力] パネルの [キーフレーム間隔] を 1 秒または 2 秒に設定することをお勧めします。キーフレーム間隔を短くすると、視聴者の動画再生をより迅速に開始できます。CPU 使用率プリセットを [veryfast] に、レイテンシーを最小にするために調整を [zerolatency] に設定することをお勧めします。
-
OBS はサイマルキャストをサポートしていないため、ビットレートを 2.5 Mbps 未満に維持することをお勧めします。これにより、低帯域幅接続の視聴者が視聴できるようになります。
-
B フレームを含むストリームは自動的に切断されるため、B フレームを無効にします。次のいずれかを行います:
-
x264 オプションで、
bframes=0 sliced-threads=0
と入力します。 -
オプション (NVENC の場合など) の場合は、B フレームを 0 に設定します。
-
注意: RTMP ストリームにはオーディオトラックとビデオトラックの両方が含まれている必要があります。含まれていない場合、ストリームは切断されます。
-
-
次に [ストリーミングを開始] を選択します。
重要: エンコーダーの最大ビットレートが 8.5 Mbps に設定されている場合、パブリッシャーはセッションから消えることがあります。これは、最大ビットレート設定が目標のみであり、エンコーダーが目標を超えることがあるためです。これを防ぐには、エンコーダーの最大ビットレートを 6 Mbps などに設定します。
E-RTMP マルチトラックビデオ
IVS は、E-RTMP (拡張リアルタイムメッセージングプロトコル) のマルチトラックビデオ機能をサポートするので、単一の RTMP ストリームで複数のビデオ品質を IVS ステージに公開できます。これによりアダプティブビットレートストリーミングが可能になり、サブスクライバーはネットワーク接続に最適な品質で自動的に視聴できます。
取り込まれると、さまざまなビデオ品質がサイマルキャストレイヤーとしてサブスクライバーに配信されます。サブスクライバーが受信するレイヤーを設定するには、リアルタイムストリーミング SDK ガイド (Android、iOS、Web) のサイマルキャストによるレイヤードエンコーディングに関するセクションを参照してください。
この図は、マルチトラックビデオを使用した公開の仕組みを示しています。

OBS ガイド
-
OBS Studio をダウンロードしてインストールします。
-
Windows: マルチトラックビデオは OBS Studio 30.2 以降でサポートされています。
-
macOS: マルチトラックビデオは、OBS Studio 31.1 Beta (Apple Silicon のみ) 以降でサポートされています。
-
ダウンロード: https://obsproject.com/download
。
-
-
[設定] をクリックします。[設定] パネルの [ストリーム] セクションで、[サービス] ドロップダウンから [Amazon IVS] を選択します。
-
[サーバー] は [自動] のままにします。
-
ストリームキー には、取り込み設定から
streamKey
を入力します。 -
[Multitrack Video] セクションで、[Enable Multitrack Video] を選択します。
-
[ビデオ] パネルで、目的の [Base (Canvas Resolution)] と [Output (Scaled) Resolution] を設定します。IVS Real-Time Streaming は、最大 720p の入力をサポートします。これらの制限を超えると、ストリームは切断されます。
マルチトラックビデオが有効な場合、ビデオトラックの数、ビットレート、キーフレーム間隔などの設定は、デバイスの容量に基づいて自動的に設定されます。
-
[ストリーミングを開始] を選択します。