RTMPS 経由で YouTube のライブ コンテンツを配信
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このドキュメントでは、RTMPS を使用してエンコーダから YouTube のライブデータをストリーミングする方法について説明します。RTMPS は、SSL 接続でトンネリングされた通常の RTMP(RealTime Messaging Protocol)動画ストリームです。このドキュメントは、RTMPS をすでにサポートしているエンコーダに RTMPS のサポートを追加するエンコーダ ベンダーを対象としています。
RTMPS は、特に低レイテンシを必要とする場合に、ほとんどの一般的なユーザー コンテンツに適しています。YouTube ライブ ストリーミングでサポートされている取り込みプロトコルの概要については、取り込みプロトコルの比較をご覧ください。
要件
YouTube ライブに RTMPS を送信するには、いくつかの前提条件があります。
- 接続 URL(
<protocol>://<server>/<path>
)の各部分は正しい必要があります。
- プロトコルは
rtmps
にする必要があります。
- このサーバーには有効な YouTube RTMPS 取り込みエンドポイントを指定してください。
- パスには有効な YouTube ライブ RTMP アプリケーション名を指定してください。
- 接続は、取り込みサーバーのポート 443 に接続する必要があります。
- マルチメディア ストリームは RTMPS で送信する必要があります(つまり SSL 接続を介して RTMP を使用します)。
接続 URL を取得する
エンコーダですでに YouTube Live API を使用している場合、RTMPS の取り込み URL を取得するプロセスは RTMP の場合と同様です。LiveStreams 挿入(POST)リクエストを送信して、新しい取り込みストリームを作成します。レスポンスの cdn.ingestionInfo.rtmpsIngestionAddress
フィールドには、RTMPS URL を指定します。デュアル取り込みをサポートする場合、バックアップ アドレスは cdn.ingestionInfo.rtmpsBackupIngestionAddress
です。
接続の作成
任意のソケット ライブラリを使用して、取り込み URL で指定されたサーバーでポート 443 への SSL/TLS 接続を作成します。TLS はトランスポート層でのみ機能するため、サーバーのホスト名は厳密には接続の開始に必須ではありませんが、サーバーでの認証には必要です。そのため、SNI 拡張機能(Server Name Indication)を SSL handshake に追加し、サーバー名を接続するサーバーのホスト名に設定してください。
SSL 接続が確立されたら、RTMP クライアント ライブラリの接続として使用します。初期化された SSL 接続の API は標準の TCP の接続と同じであるため、RTMP ライブラリは両方の API を同じように動作させることができます。
トラブルシューティング
SSL エラー
SSL 接続を作成しようとして無効な証明書を取得する場合は、RTMP を必要とする YouTube サーバーに接続している可能性があります。使用するサーバー名に「rtmps」が含まれていることを確認します(「s」に注意してください)。
URL は正しいのに SSL エラーが発生する場合は、間違ったポートに接続している可能性があります。ポート 443 に接続していることを確認します。
URL とポートが正しい場合、SSL ライブラリで証明書が正しく処理されていない可能性があります。SSL の失敗に関する低レベルの診断メッセージを探し、handshake で SNI を使用していることを再度確認します。
接続がタイムアウトになった
サーバーに接続できるが、有効なレスポンスがない状態で RTMP ライブラリがタイムアウトした場合は、RTMPS を想定している YouTube サーバーにクリアテキストの RTMP 接続が設定されている可能性があります。プレーン TCP 接続ではなく、SSL 接続を作成していることを確認してください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2023-02-22 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2023-02-22 UTC。"],[[["RTMPS is a secure method for streaming live data to YouTube, using RTMP through an SSL connection."],["To use RTMPS, ensure the connection URL is correct, including the `rtmps` protocol, a valid YouTube ingestion endpoint, and a valid application name."],["Connections must be made to port 443, and the server hostname is required for authentication via the SNI extension in the SSL handshake."],["Encoder vendors can retrieve the RTMPS ingestion URL from the `cdn.ingestionInfo.rtmpsIngestionAddress` field in the response of a LiveStreams insert request, similar to RTMP."],["Common issues like SSL errors and connection timeouts often arise from incorrect server names, ports, or improper SSL setup, and usually indicate a cleartext RTMP connection is being attempted instead of RTMPS."]]],["To stream live on YouTube using RTMPS, ensure the URL protocol is `rtmps`, the server is a valid YouTube RTMPS endpoint, and the path is a valid application name. Connect to port 443 with an SSL/TLS connection, including the SNI extension with the server hostname for authentication. Obtain the RTMPS URL via a `LiveStreams insert` request from the YouTube Live API. After establishing the SSL connection, use it with your RTMP library to send the multimedia stream.\n"]]