API がライブ ブロードキャストを「子ども向け」としてマークする機能をサポートするようになり、
liveBroadcast
リソースに、そのライブ ブロードキャストの「子ども向け」ステータスを識別するプロパティが含まれるようになりました。YouTube API サービスの利用規約とデベロッパー ポリシーも 2020 年 1 月 10 日に更新されました。詳しくは、YouTube Live Streaming API の利用規約と YouTube API サービスの利用規約の変更履歴をご覧ください。
liveBroadcast
リソースは、YouTube でライブ動画を使ってストリーミングされるイベントを表します。
Methods
API は、liveBroadcasts
リソースについて次のメソッドをサポートしています。
- list
- API リクエスト パラメータに一致する YouTube ブロードキャストのリストを返します。今すぐ試す
- 挿入
- ブロードキャストを作成します。今すぐ試す
- update
- ブロードキャストを更新します。たとえば、
liveBroadcast
リソースのcontentDetails
オブジェクトで定義されたブロードキャスト設定を変更できます。こちらから今すぐお試しください。 - delete
- ブロードキャストを削除します。今すぐ試す
- バインド
- YouTube ブロードキャストをストリームにバインドするか、ブロードキャストとストリーム間の既存のバインディングを削除します。ブロードキャストは 1 つの動画ストリームにのみバインドできますが、1 つの動画ストリームは複数のブロードキャストにバインドできます。今すぐ試す
- transition
- YouTube ライブ配信のステータスを変更し、新しいステータスに関連するプロセスを開始します。たとえば、ブロードキャストのステータスを
testing
に移行すると、そのブロードキャストのモニタリング ストリームへの動画送信が開始されます。このメソッドを呼び出す前に、ブロードキャストにバインドされているストリームのstatus.streamStatus
プロパティの値がactive
であることを確認してください。こちらから今すぐお試しください。 - キューポイント
- ライブブロードキャストにキューポイントを挿入します。キューポイントによって広告ブレークがトリガーされることがあります。
リソース表現
次の JSON 構造は、liveBroadcasts
リソースの形式を示しています。
{ "kind": "youtube#liveBroadcast", "etag": etag, "id": string, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "thumbnails": { (key): { "url": string, "width": unsigned integer, "height": unsigned integer } }, "scheduledStartTime": datetime, "scheduledEndTime": datetime, "actualStartTime": datetime, "actualEndTime": datetime, "isDefaultBroadcast": boolean, "liveChatId": string }, "status": { "lifeCycleStatus": string, "privacyStatus": string, "recordingStatus": string, "madeForKids": string, "selfDeclaredMadeForKids": string, }, "contentDetails": { "boundStreamId": string, "boundStreamLastUpdateTimeMs": datetime, "monitorStream": { "enableMonitorStream": boolean, "broadcastStreamDelayMs": unsigned integer, "embedHtml": string }, "enableEmbed": boolean, "enableDvr": boolean, "recordFromStart": boolean, "enableClosedCaptions": boolean, "closedCaptionsType": string, "projection": string, "enableLowLatency": boolean, "latencyPreference": boolean, "enableAutoStart": boolean, "enableAutoStop": boolean }, "statistics": { "totalChatCount": unsigned long } }
プロパティ
次の表は、このリソースで使用されているプロパティの定義を示したものです。
プロパティ | |
---|---|
kind |
string API リソースのタイプを識別します。値は youtube#liveBroadcast です。 |
etag |
etag このリソースの Etag。 |
id |
string 配信を一意に識別するために YouTube が割り当てる ID。 |
snippet |
object snippet オブジェクトには、タイトル、説明、開始時間、終了時間など、イベントに関する基本情報が含まれます。 |
snippet.publishedAt |
datetime YouTube のライブ配信スケジュールにブロードキャストが追加された日時。値は ISO 8601( YYYY-MM-DDThh:mm:ss.sZ )形式で指定します。 |
snippet.channelId |
string ブロードキャストを公開しているチャンネルを一意に識別するために YouTube によって使用される ID。 |
snippet.title |
string ブロードキャストのタイトル。このブロードキャストは 1 つの YouTube 動画を表しています。このフィールドを設定するには、ブロードキャスト リソースを変更するか、対応する動画リソースの title フィールドを設定します。 |
snippet.description |
string 配信の説明。 title と同様に、このフィールドを設定するには、ブロードキャスト リソースを変更するか、対応する動画リソースの description フィールドを設定します。 |
snippet.thumbnails |
object 配信に関連付けられているサムネイル画像のマップ。このオブジェクト内のネストされたオブジェクトごとに、キーはサムネイル画像の名前、値はサムネイルに関するその他の情報を含むオブジェクトです。 |
snippet.thumbnails.(key) |
object 有効な Key-Value は次のとおりです。
|
snippet.thumbnails.(key).url |
string 画像の URL。 |
snippet.thumbnails.(key).width |
unsigned integer 画像の幅。 |
snippet.thumbnails.(key).height |
unsigned integer 画像の高さ。 |
snippet.scheduledStartTime |
datetime 配信を開始する日時。値は ISO 8601( YYYY-MM-DDThh:mm:ss.sZ )形式で指定します。Creator Studio は、開始時間をスケジュール設定せずにブロードキャストを作成する機能をサポートしています。この場合、チャンネル所有者がストリーミングを開始するたびにブロードキャストが開始されます。これらのブロードキャストでは、datetime 値は UNIX 時間のゼロに対応します。この値を API または Creator Studio で変更することはできません。 |
snippet.scheduledEndTime |
datetime 配信が終了する日時。値は ISO 8601( YYYY-MM-DDThh:mm:ss.sZ )形式で指定します。liveBroadcast リソースにこのプロパティの値が指定されていない場合、ブロードキャストが無期限に継続するようにスケジュールされます。同様に、このプロパティに値を指定しないと、YouTube はブロードキャストを無期限に処理します。 |
snippet.actualStartTime |
datetime 配信が実際に開始された日時。この情報は、ブロードキャストの状態が live の場合にのみ使用できます。値は ISO 8601(YYYY-MM-DDThh:mm:ss.sZ )形式で指定します。 |
snippet.actualEndTime |
datetime 配信が実際に終了した日時。この情報は、ブロードキャストの状態が complete の場合にのみ使用できます。値は ISO 8601(YYYY-MM-DDThh:mm:ss.sZ )形式で指定します。 |
snippet.isDefaultBroadcast |
boolean
このプロパティは 2020 年 9 月 1 日に非推奨となります。その時点で、チャンネルでライブ配信が有効になっている場合、YouTube はデフォルトのストリームとデフォルトのブロードキャストの作成を停止します。詳しくは、サポート終了のお知らせをご覧ください。
このプロパティは、このブロードキャストがデフォルト ブロードキャストかどうかを示します。デフォルトの配信の仕組み YouTube チャンネルでライブ配信を有効にすると、そのチャンネル用のデフォルトの配信とデフォルトの配信が作成されます。ストリームでは、チャンネル所有者が YouTube にライブ動画を送信する方法を定義します。また、ブロードキャストは、デフォルトのストリームを視聴者に表示する方法です。チャンネル所有者は、 liveStreams.list メソッドと liveBroadcasts.list メソッドを使用してこれらのリソースを識別できます。チャンネルでデフォルトのストリームへの動画のストリーミングを開始すると、その動画はチャンネルのデフォルトのブロードキャストに表示されます。配信が終了すると、完了した配信が YouTube 動画に変換され、その動画に YouTube 動画 ID が割り当てられます。 変換が完了すると、動画はチャンネルのアップロード動画一覧に追加されます。配信が終了した直後に動画を利用できず、遅延の長さは実際の放送時間と関連しています。 |
snippet.liveChatId |
string 配信の YouTube チャットの ID。この ID では、 liveChatMessage リソースのメソッドを使用して、チャット メッセージの取得、挿入、削除を行うことができます。チャット モデレーターの追加や削除、ユーザーによるチャットへの参加の禁止、既存の参加禁止の削除もできます。 |
status |
object status オブジェクトには、イベントのステータスに関する情報が含まれます。 |
status.lifeCycleStatus |
string ブロードキャストのステータス。ステータスは API の liveBroadcasts.transition メソッドを使用して更新できます。このプロパティの有効な値は次のとおりです。
|
status.privacyStatus |
string 配信のプライバシー ステータス。このブロードキャストは 1 つの YouTube 動画を表しているため、プライバシー設定は動画でサポートされる設定と同じです。また、ブロードキャスト リソースを変更するか、対応する動画リソースの privacyStatus フィールドを設定することで、このフィールドを設定できます。このプロパティの有効な値は次のとおりです。
|
status.recordingStatus |
string 配信の録画ステータス。 このプロパティの有効な値は次のとおりです。
|
status.madeForKids |
boolean この値は、ブロードキャストが子ども向けとして指定されるかどうかを示します。このプロパティ値は読み取り専用です。 |
status.selfDeclaredMadeForKids |
boolean liveBroadcasts.insert リクエストでは、このプロパティを使用して、チャンネル所有者がブロードキャストを子供向けとして指定できます。liveBroadcasts.list リクエストでは、チャンネル所有者が API リクエストを承認した場合にのみ、プロパティ値が返されます。 |
contentDetails |
object contentDetails オブジェクトには、イベントの動画コンテンツに関する情報が含まれています。たとえば、埋め込み動画プレーヤーに表示できるかどうか、またはイベントの終了後にアーカイブして視聴できるかどうかなどがあります。 |
contentDetails.boundStreamId |
string この値は、ブロードキャストにバインドされる live stream を一意に識別します。 |
contentDetails.boundStreamLastUpdateTimeMs |
datetime boundStreamId で参照されているライブ ストリームが最後に更新された日時。 |
contentDetails.monitorStream |
object monitorStream オブジェクトには監視ストリームに関する情報が含まれています。放送局はこれを使用して、配信ストリームを公開する前にイベント コンテンツを確認します。 |
contentDetails.monitorStream.enableMonitorStream |
boolean この値は、配信でモニタリング ストリームを有効にするかどうかを決定します。モニタリング ストリームが有効になっている場合、YouTube は、放送局の利用専用の特別なストリームでイベント コンテンツをブロードキャストします。放送局はストリームを使用してイベント コンテンツを確認し、キューポイントを挿入する最適なタイミングを特定できます。 ブロードキャストの testing ステージを設定する場合や、イベントのブロードキャストの遅延を設定する場合は、この値を true に設定する必要があります。また、このプロパティの値が true の場合、ブロードキャストを live 状態に移行する前に、testing 状態に移行する必要があります。(プロパティの値が false の場合、ブロードキャストに testing ステージは設定できないため、ブロードキャストを直接 live 状態に移行できます)。API リクエストの part パラメータ値に contentDetails 部分が含まれる場合、update a broadcast でこのプロパティを設定する必要があります。ただし、insert a broadcast の場合、このプロパティは省略可能で、デフォルト値は true です。重要: ブロードキャストが testing または live の状態になると、このプロパティを更新できません。 |
contentDetails.monitorStream.broadcastStreamDelayMs |
unsigned integer enableMonitorStream プロパティを true に設定した場合は、このプロパティによってライブ配信の遅延時間が決まります。API リクエストの part パラメータ値に contentDetails 部分が含まれる場合、update a broadcast でこのプロパティを設定する必要があります。ただし、insert a broadcast の場合、このプロパティは省略可能で、デフォルト値は 0 です。この値は、ブロードキャストに遅延がないことを示します。注: ブロードキャストが testing または live 状態になると、このプロパティを更新できません。 |
contentDetails.monitorStream.embedHtml |
string モニタリング ストリームを再生するプレーヤーを埋め込む HTML コード。 |
contentDetails.enableEmbed |
boolean この設定は、埋め込み動画が埋め込みプレーヤーで再生できるかどうかを示します。 enableArchive プロパティを使用して動画をアーカイブすると、この設定はアーカイブした動画にも適用されます。API リクエストの part パラメータ値に contentDetails 部分が含まれる場合、update a broadcast でこのプロパティを設定する必要があります。ただし、insert a broadcast の場合、このプロパティは省略可能で、デフォルト値は true です。注: ブロードキャストが testing または live の状態になると、このプロパティを更新できません。 |
contentDetails.enableDvr |
boolean 視聴者は、動画の視聴中に DVR コントロールを使用できるかどうかを指定します。DVR コントロールを使用すると、視聴者はコンテンツを一時停止、巻き戻し、早送りして、動画の再生エクスペリエンスを制御できます。このプロパティのデフォルト値は true です。API リクエストの part パラメータ値に contentDetails 部分が含まれる場合、update a broadcast でこのプロパティを設定する必要があります。ただし、insert a broadcast の場合、このプロパティは省略可能で、デフォルト値は true です。重要: ブロードキャストの直後に再生できるようにするには、値を true に設定し、enableArchive プロパティの値を true に設定する必要があります。また、ブロードキャストが testing または live 状態になると、このプロパティを更新できません。 |
contentDetails.recordFromStart |
boolean この設定は、イベントのステータスがライブに変更されると、YouTube が自動的にブロードキャストの録画を開始するかどうかを示します。 このプロパティのデフォルト値は true です。ブロードキャスト チャンネルでライブ配信の録画を無効にできる場合にのみ、false に設定できます。チャンネルに録画を無効にする権限がなく、 recordFromStart プロパティを false に設定してブロードキャストを挿入しようとすると、API は Forbidden エラーを返します。また、チャンネルにこの権限がなく、ブロードキャストを更新して recordFromStart プロパティを false に設定しようとすると、API は modificationNotAllowed エラーを返します。API リクエストの part パラメータ値に contentDetails 部分が含まれる場合、update a broadcast でこのプロパティを設定する必要があります。ただし、insert a broadcast の場合、このプロパティは省略可能で、デフォルト値は true です。重要: ブロードキャストの終了直後に再生を使用できるようにするには、 enableDvr プロパティの値を true に設定する必要があります。このプロパティの値を true に設定し、enableDvr プロパティも true に設定していない場合、アーカイブした動画を再生できるようになるまでに約 1 日かかることがあります。注: ブロードキャストが testing または live の状態になると、このプロパティを更新できません。 |
contentDetails.enableClosedCaptions |
boolean このプロパティは 2015 年 12 月 17 日に非推奨となりました。代わりに contentDetails.closedCaptionsType プロパティを使用してください。この設定は、このブロードキャストに対して HTTP POST の字幕が有効かどうかを示します。すでにこのプロパティを使用している API クライアントの場合:
|
contentDetails.closedCaptionsType |
string 注: このプロパティは contentDetails.enableClosedCaptions プロパティに置き換わるものです。このプロパティは、ブロードキャストで字幕が有効になっているかどうかと、有効にする場合はどのタイプの字幕を提供しているかを示します。
|
contentDetails.projection |
string このブロードキャストの投影形式。プロパティのデフォルト値は rectangular です。このプロパティの有効な値は次のとおりです。
|
contentDetails.enableLowLatency |
boolean このブロードキャストを低レイテンシ ストリーミングでエンコードするかどうかを指定します。低レイテンシのストリーミングでは、配信の視聴でユーザーに動画が表示されるまでの時間が短縮されますが、その配信の視聴者にとっては解像度に影響することもあります。 |
contentDetails.latencyPreference |
string このブロードキャストに使用するレイテンシ設定を示します。このプロパティは、 ultraLow に対応していない enableLowLatency の代わりに使用できます。低レイテンシのストリームでは、ユーザーがブロードキャストを視聴している時間が短縮されますが、再生の滑らかさに影響する可能性があります。 超低レイテンシのストリームにより、視聴者に対する動画の表示時間がさらに短縮され、
。 |
contentDetails.enableAutoStart |
boolean バインドされている live stream で動画のストリーミングを開始したときに、このブロードキャストを自動的に開始するかどうかを指定します。 |
contentDetails.enableAutoStop |
boolean チャンネル所有者がバインドされた動画ストリームでの動画のストリーミングを停止してから約 1 分後に、このブロードキャストを自動的に停止するかどうかを示します。 |
statistics |
object statistics オブジェクトには、ライブ配信に関する統計情報が格納されます。これらの統計情報の値は配信中に変更され、配信の期間中にのみ取得できます。 |
statistics.totalChatCount |
unsigned long 配信に関連するチャット メッセージの合計数。このプロパティは、ブロードキャストがユーザーに表示され、チャット機能が有効で、メッセージが少なくとも 1 つある場合に存在します。このプロパティでは、ブロードキャストの終了後に値は指定されません。そのため、このプロパティでは、ライブ配信のアーカイブが済んだ動画に対するチャット メッセージの数は特定されません。 |