LiveStreams
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
liveStream
リソースには、YouTube に送信する動画ストリームに関する情報が含まれています。このストリームでは、YouTube ユーザーにブロードキャストされるコンテンツを提供します。作成した liveStream
リソースは、1 つ以上の liveBroadcast
リソースにバインドできます。
Methods
API は、liveStreams
リソースについて次のメソッドをサポートしています。
- list
- API リクエスト パラメータに一致する動画ストリームのリストを返します。今すぐ試す
- 挿入
- 動画ストリームを作成します。この配信では、動画を YouTube に送信して、視聴者に配信することができます。
今すぐ試す
- update
- 動画ストリームを更新します。変更するプロパティを更新できない場合は、適切な設定で新しいストリームを作成する必要があります。今すぐ試す
- delete
- 動画ストリームを削除します。
今すぐ試す
リソース表現
次の JSON 構造は、liveStreams
リソースの形式を示しています。
{
"kind": "youtube#liveStream",
"etag": etag,
"id": string,
"snippet": {
"publishedAt": datetime,
"channelId": string,
"title": string,
"description": string,
"isDefaultStream": boolean
},
"cdn": {
"ingestionType": string,
"ingestionInfo": {
"streamName": string,
"ingestionAddress": string,
"backupIngestionAddress": string
},
"resolution": string,
"frameRate": string
},
"status": {
"streamStatus": string,
"healthStatus": {
"status": string,
"lastUpdateTimeSeconds": unsigned long,
"configurationIssues": [
{
"type": string,
"severity": string,
"reason": string,
"description": string
}
]
}
},
"contentDetails": {
"closedCaptionsIngestionUrl": string,
"isReusable": boolean
}
}
プロパティ
次の表は、このリソースで使用されているプロパティの定義を示したものです。
プロパティ |
kind |
string
API リソースのタイプを識別します。値は youtube#liveStream です。 |
etag |
etag
このリソースの Etag。 |
id |
string
ストリームを一意に識別するために YouTube が割り当てる ID。 |
snippet |
object
snippet オブジェクトには、ストリームに関する基本情報(チャンネル、タイトル、説明など)が含まれています。 |
snippet.publishedAt |
datetime
ストリームが作成された日時。値は ISO 8601(YYYY-MM-DDThh:mm:ss.sZ )形式で指定します。 |
snippet.channelId |
string
YouTube で、ストリーミングを配信しているチャンネルを一意に識別するために使用する ID です。 |
snippet.title |
string
ストリームのタイトル。値は 1 ~ 128 文字にする必要があります。 |
snippet.description |
string
ストリームの説明。10,000 文字以内で指定してください。 |
snippet.isDefaultStream |
boolean
このプロパティは 2020 年 9 月 1 日に非推奨となります。その時点で、チャンネルでライブ配信が有効になっている場合、YouTube はデフォルトのストリームとデフォルトのブロードキャストの作成を停止します。詳しくは、 サポート終了のお知らせをご覧ください。
このプロパティは、このストリームがチャンネルのデフォルト ストリームかどうかを示します。
デフォルト ストリームの仕組み
YouTube チャンネルでライブ配信を有効にすると、そのチャンネル用のデフォルト ストリームとデフォルト ブロードキャストが作成されます。ストリームでは、チャンネル所有者が YouTube にライブ動画を送信する方法を定義します。また、ブロードキャストは、視聴者にデフォルトのストリームを表示する方法です。チャンネル所有者は、liveStreams.list メソッドと liveBroadcasts.list メソッドを使用して、これらのリソースを識別できます。
チャンネルのデフォルト ストリームは無期限に存在し、開始時間または終了時間は関連付けられず、削除もできません。チャンネル所有者は動画ビットの送信を開始するだけで、ストリーミングが自動的に開始されます。
ストリーミングが終了すると、完了したブロードキャストが YouTube 動画に変換され、その動画に YouTube 動画 ID が割り当てられます。変換が完了すると、動画はアップロードされた動画のリストに追加されます。配信が終了した直後に動画を利用できず、遅延の長さは実際の配信時間と関連しています。 |
cdn |
object
cdn オブジェクトは、ライブ配信のコンテンツ配信ネットワーク(CDN)の設定を定義します。これらの設定では、YouTube にコンテンツをストリーミングする方法の詳細を指定します。 |
cdn.format |
string
このプロパティは 2016 年 4 月 18 日をもって非推奨となり、2020 年 8 月 17 日をもってサポートが終了します。この日時点でこのプロパティを使用しているリクエストは失敗します。
代わりに、cdn.frameRate プロパティと cdn.resolution プロパティを使用して、フレームレートと解像度を個別に指定します。
|
cdn.ingestionType |
string
動画ストリームの転送に使用する方法またはプロトコルです。
このプロパティの有効な値は次のとおりです。
|
cdn.ingestionInfo |
object
ingestionInfo オブジェクトには、ストリームを YouTube に送信するために必要な情報が含まれます。 |
cdn.ingestionInfo.streamName |
string
YouTube が動画ストリームに割り当てるストリーム名。 |
cdn.ingestionInfo.ingestionAddress |
string
RTMP、DASH、または HLS を使用する場合、動画を YouTube にストリーミングする際に使用するメインの取り込み URL です。動画は、この URL にストリーミングする必要があります。
動画ストリームのエンコードに使用するアプリケーションやツールによっては、ストリーム URL とストリーム名を個別に入力することや、
STREAM_URL/STREAM_NAME という形式で連結する必要があります。 |
cdn.ingestionInfo.backupIngestionAddress |
string
RTMP、DASH、または HLS を使用する場合、動画を YouTube にストリーミングする際に使用するバックアップ取り込み URL。ingestionAddress に送信するコンテンツを、この URL に同時にストリーミングすることもできます。 |
cdn.ingestionInfo.rtmpsIngestionAddress |
string
RTMPS を使用する場合に、動画を YouTube にストリーミングする際に使用するメインの取り込み URL。動画は、この URL にストリーミングする必要があります。
動画ストリームのエンコードに使用するアプリまたはツールによっては、ストリーム URL とストリーム名を個別に入力することや、
STREAM_URL/STREAM_NAME という形式で連結する必要があります。 |
cdn.ingestionInfo.rtmpsBackupIngestionAddress |
string
RTMPS を使用する場合に、YouTube への動画のストリーミングに使用するバックアップ取り込み URL。 |
cdn.resolution |
string
受信動画データの解像度。
このプロパティの有効な値は次のとおりです。
240p
360p
480p
720p
1080p
1440p
2160p
variable : この設定を使用すると、ストリーミングした動画の解像度を自動的に検出できます。また、cdn.frameRate を variable に設定する必要があります。
推奨されるエンコーダの設定については、YouTube ヘルプセンターをご覧ください。
|
cdn.frameRate |
string
受信動画データのフレームレート。
このプロパティの有効な値は次のとおりです。
30fps
60fps
variable : この設定を使用して、ストリーミングした動画のフレームレートを自動的に検出します。また、cdn.resolution を variable に設定する必要があります。
推奨されるエンコーダの設定については、YouTube ヘルプセンターをご覧ください。
|
status |
object
status オブジェクトには、ライブ配信のステータスに関する情報が含まれます。 |
status.streamStatus |
string
ストリームのステータス。
このプロパティの有効な値は次のとおりです。
active – ストリームがアクティブ状態(ユーザーがストリーム経由でデータを受信している状態)
created – ストリームは作成されましたが、有効な CDN 設定がありません。
error – ストリームにエラー条件が存在します。
inactive – ストリームは非アクティブ状態です。つまり、ユーザーはストリーム経由でデータを受信していません。
ready – ストリームに有効な CDN 設定があります。
|
status.healthStatus |
object
このオブジェクトには、ライブ配信のヘルス ステータスに関する情報が含まれています。この情報は、ストリーミングの問題の特定、診断、解決に使用できます。 |
status.healthStatus.status |
string
このストリームのステータス コード。
このプロパティの有効な値は次のとおりです。
good - 重大度が warning 以下の設定の問題はありません。
ok - 重大度が error の構成上の問題はありません。
bad – 配信の重大度が error である問題があります。
noData – YouTube のライブ ストリーミング バックエンド サーバーにはストリームの状態に関する情報がありません。
|
status.healthStatus.lastUpdateTimeSeconds |
unsigned long
ストリームの健全性が最後に更新された時刻。この値には秒単位の UNIX タイムスタンプが反映されます。 |
status.healthStatus.configurationIssues[] |
list
このオブジェクトには、ストリームに影響を与える構成の問題のリストが含まれます。 |
status.healthStatus.configurationIssues[].type |
string ストリームに影響するエラーのタイプを示します。
有効な値を確認する
設定に関する問題 |
audioBitrateHigh |
理由: | 音声の設定を確認してください |
説明: | 音声ストリームの現在のビットレート(%(actual) )が推奨ビットレートよりも高くなっています。オーディオ ストリーム ビットレートは %(expected)s を使用することをおすすめします。 |
|
audioBitrateLow |
理由: | 音声の設定を確認してください |
説明: | 音声ストリームの現在のビットレート (%(actual)s) が推奨ビットレートよりも低くなっています。オーディオ ストリーム ビットレートは %(expected)s を使用することをおすすめします。 |
|
audioBitrateMismatch |
理由: | セカンダリ ストリームを確認してください |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームの音声ビットレートが異なります。同じ音声ビットレートを使用するようにストリームを構成する必要があります。 |
|
audioCodec |
理由: | 音声の設定を確認してください |
説明: | 音声ストリームはサポートされていないコーデックによってエンコードされています。ストリームの音声コーデックを、サポートされているコーデック(AAC、MP3)に設定してください。 |
|
audioCodecMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームが異なるオーディオ コーデックを使用しています。同じオーディオ コーデックを使用するようにストリームを構成する必要があります。 |
|
audioSampleRate |
理由: | 音声の設定を確認してください |
説明: | 現在のサンプルレートは %(actual) です。推奨サンプルレートは 44.1 kHz と 48 kHz です。 |
|
audioSampleRateMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームの音声サンプルレートが異なります。同じ音声サンプルレートになるようにストリームを構成する必要があります。 |
|
audioStereoMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームと代替ストリームの音声チャンネルが異なっています。これらのストリームに同じ音声チャンネルを設定する必要があります。 |
|
audioTooManyChannels |
理由: | 音声の設定を確認してください |
説明: | 音声に 3 つ以上のチャンネルがありますが、1 つ(モノラル)または 2 つ(ステレオ)のチャンネルのみがサポートされます。音声チャンネルの数を修正してください。 |
|
badContainer |
理由: | 動画の設定が不良です |
説明: | 動画のコンテナ形式を変更してください。この構成では、現在のコンテナの形式が正しくありません。 |
|
bitrateHigh |
理由: | 動画の設定を確認してください |
説明: | ストリームの現在のビットレート (%(actual)s) が推奨ビットレートよりも高くなっています。ストリームのビットレートは %(expected)s を使用することをおすすめします。 |
|
bitrateLow |
理由: | 動画の出力が低すぎます |
説明: | ストリームの現在のビットレート (%(actual)s) が推奨値より低くなっています。ストリームのビットレートは %(expected)s を使用することをおすすめします。 |
|
framerateMismatch |
理由: | セカンダリ ストリームを確認してください |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームのフレームレートが異なります。同じフレームレートになるようにストリームを構成する必要があります。 |
|
frameRateHigh |
理由: | フレームレートが高すぎます |
説明: | 現在のフレームレートが高すぎます。フレームレートを %(framerate)s fps 以下に設定してください。 |
|
gopMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームのキーフレーム間隔が異なります。ストリームのキーフレーム間隔が同じになるように構成する必要があります。 |
|
gopSizeLong |
理由: | 動画の設定が不良です |
説明: | 4 秒以下のキーフレーム間隔を使用してください。現在、キーフレーム間隔が長すぎるためバッファリングが発生します。現在のキーフレーム間隔は %(actual_gop).1f 秒です。取り込みエラーが発生すると、誤った GOP(Group of Pictures)サイズになってしまう可能性があります。 |
|
gopSizeOver |
理由: | 動画の設定を確認してください |
説明: | 4 秒以下のキーフレーム間隔を使用してください。現在、キーフレーム間隔が長すぎるためバッファリングが発生する可能性があります。現在のキーフレーム間隔は %(actual_gop).1f 秒です。取り込みエラーが発生すると、誤った GOP(Group of Pictures)サイズになってしまう可能性があります。 |
|
gopSizeShort |
理由: | 動画の設定を確認してください |
説明: | GOP(Group of Pictures)サイズが非常に小さいため、画像の品質が低下する可能性があります。推奨されるキーフレーム間隔は 4 秒です。現在のキーフレーム間隔は %(actual_gop).1f 秒です。取り込みエラーが発生すると、誤った GOP サイズになってしまう可能性があります。 |
|
multipleAudioStreams |
理由: | 音声の設定を確認してください |
説明: | 取り込みストリームに複数の音声ストリームが含まれています。含めることができる音声ストリームは 1 つのみです。 |
|
multipleVideoStreams |
理由: | 動画の設定が不良です |
説明: | 取り込みストリームに複数の動画ストリームが含まれています。含めることができる音声ストリームは 1 つのみです。 |
|
noAudioStream |
理由: | 音声がない |
説明: | 取り込みストリームに音声ストリームが含まれていません。1 つの音声ストリームを含める必要があります。 |
|
noVideoStream |
理由: | 動画がありません |
説明: | 取り込みストリームに動画ストリームが含まれていません。1 つの音声ストリームを含める必要があります。 |
|
openGop |
理由: | 動画の設定が不良です |
説明: | 動画エンコーダの設定を「クローズされた写真グループ(GOP)」に変更してください。「オープン GOP」に設定されているようですが、YouTube ではサポートされていません。 |
|
resolutionMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームの解像度が異なります。ストリームの解像度が同じになるように構成する必要があります。 |
|
videoBitrateMismatch |
理由: | セカンダリ ストリームを確認してください |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームのビットレートが異なります。ストリームの動画ビットレートが同じになるように設定する必要があります。 |
|
videoCodec |
理由: | 動画の設定が不良です |
説明: | 動画はサポートされていないコーデックによってエンコードされています。ストリームの動画コーデックを、サポートされているコーデック(H.264)に設定してください。 |
|
videoCodecMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームが異なる動画コーデックを使用しています。同じ動画コーデックが含まれるようにストリームを設定する必要があります。 |
|
videoIngestionStarved |
理由: | 動画の出力が低すぎます |
説明: | スムーズなストリーミングを維持するのに十分な動画が YouTube に届いていません。そのため、視聴者はバッファリングを経験します。 |
|
videoInterlaceMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームのインターレースが異なります。ストリームが同じインターレースを持つように構成する必要があります。 |
|
videoProfileMismatch |
理由: | セカンダリ ストリームの状態が不良です |
説明: | 現在の設定では、動画のメイン ストリームとバックアップ ストリームのプロフィールが異なります。ストリームが同じプロファイルを持つように構成する必要があります。 |
|
videoResolutionSuboptimal |
理由: | 解像度を確認してください |
説明: | 動画の解像度を確認してください。現在の解像度は (%(actual_w)dx%(actual_h)d) で、最適ではありません。 |
|
videoResolutionUnsupported |
理由: | サポートされていない解像度です |
説明: | 動画の解像度を変更する必要があります。現在の解像度は (%(actual_w)dx%(actual_h)d) ですが、この構成ではサポートされていません。予想される動画の解像度は (%(expected_w)dx%(expected_h)d) です。 |
|
|
status.healthStatus.configurationIssues[].severity |
string
ストリームにおける問題の重大度を示します。
このプロパティの有効な値は次のとおりです。
info - この動画は、パフォーマンスに悪影響を与えることなく視聴者に配信されます。
warning - 動画は視聴者にブロードキャストされますが、パフォーマンスは最適ではありません。
error – 動画を視聴者に配信できない。
|
status.healthStatus.configurationIssues[].reason |
string
問題の簡単な説明。ライブ ストリーム リソースの設定に関する問題のドキュメントでは、各設定の問題タイプに関連する理由を示しています。 |
status.healthStatus.configurationIssues[].description |
string
問題の詳細な説明。可能であれば、説明に問題の解決方法が記載されています。ライブ ストリーム リソースの設定に関する問題のドキュメントに、設定に関するすべての問題の種類と関連する説明が記載されています。 |
contentDetails |
object
content_details オブジェクトには、ストリームの字幕取り込み URL など、ストリームに関する情報が格納されます。 |
contentDetails.closedCaptionsIngestionUrl |
string
このストリームの字幕を送信する取り込み URL です。 |
contentDetails.isReusable |
boolean
ストリームが再利用可能かどうかを示します。つまり、複数のブロードキャストにバインドできることを意味します。複数の異なる配信で異なるブロードキャストが配信される場合、放送局が同じストリームを再利用することがよくあります。
この値を false に設定すると、ストリームは再利用できません。つまり、1 つのブロードキャストにバインドのみできます。再利用可能なストリームと再利用可能なストリームは、次の点で異なります。- 再利用できないストリームは 1 つのブロードキャストにのみバインドできます。
- 再利用できないストリームは、配信終了後の自動プロセスによって削除されることがあります。
liveStreams.list メソッドを呼び出して mine パラメータを true に設定した場合、再利用可能なストリームは一覧表示されません。このメソッドを使用して、再利用できないストリームのリソースを取得する唯一の方法は、id パラメータを使用してストリームを識別することです。
|
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 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。"],[[["A `liveStream` resource represents a video feed being sent to YouTube for live broadcasts, which can be associated with one or more `liveBroadcast` resources to provide content to viewers."],["The `liveStream` resource can be managed through several methods, including `list` to retrieve streams, `insert` to create new streams, `update` to modify existing ones, and `delete` to remove streams."],["The `cdn` property defines critical streaming details such as `ingestionType` (e.g., RTMP, HLS), primary and backup stream URLs, resolution, and frame rate, and it is essential for configuring how the video stream is delivered to YouTube."],["The `status` property of a `liveStream` provides information on the current status of the stream, including whether it is active, created, or in error, as well as its overall health status and any detected issues."],["Configuration issues such as `videoBitrateLow`, `framerateMismatch` or `noAudioStream` might affect the quality or delivery of the broadcast, and can be checked in the `healthStatus` part of the `status` property."]]],[]]