YouTube Live Streaming API - 変更履歴

このページでは、YouTube Live Streaming API の変更とドキュメントの更新内容の一覧を示します。この変更ログの登録登録

2023 年 10 月 9 日

なお、どのステッカー ID がどのスーパー ステッカーに関連しているかは、こちらの CSV ファイルで確認できます。この情報を反映するため、liveChatMessage リソースの snippet.superStickerDetails.superStickerMetadata.stickerId プロパティと superChatEvent リソースの snippet.superStickerMetadata.stickerId プロパティの定義が更新されました。

2023 年 9 月 15 日

この API は、ライブ配信に広告を挿入する新しい方法をサポートするようになりました。ライブ配信にミッドロール挿入点を手動で挿入できる liveCuepoints に加えて、ミッドロール挿入点を一定の間隔で自動的に挿入する機能がサポートされるようになりました。

ブロードキャスト所有者が自動広告を有効にすると、広告の動作に関する次の項目を確認できます。

  • ミッドロール広告ブレーク間の間隔の長さ。
  • 広告キューポイントのスケジュール設定戦略。キューポイントは、すべての視聴者に対して同時に挿入することも、視聴者ごとにキューポイントのタイミングを変更することもできます。後者の戦略では、YouTube はキューポイントをより高い頻度でスケジュール設定できるため、視聴者は利用資格がある場合にキューポイントを受け取ることができます。
  • ミッドロール広告が表示されない期間。この機能では、ブロードキャスト所有者が特定の時間までミッドロール広告の挿入を一時停止するように指定します。

このドキュメントには、この機能をサポートするために行われた次の API の変更が反映されています。

  • liveBroadcast リソースに monetizationDetails オブジェクトが追加されました。オブジェクトのフィールドには、ブロードキャストで自動広告挿入が有効になっているかどうかが示され、キューポイントのスケジュール設定に関する追加情報が指定されます。
  • liveBroadcast.list メソッドの part パラメータは、値 monetizationDetails をサポートしています。
  • update メソッドを使用すると、ライブ放送でミッドロール広告の挿入を一時停止できます。また、ライブ配信の収益化の詳細を更新する際に発生する可能性のあるエラーについても説明しています。

2023 年 8 月 1 日

この改訂での変更内容は次のとおりです:

  • liveBroadcasts.update メソッドでは、次のフィールドに値を指定する必要がなくなりました。

    • snippet.title
    • status.privacyStatus

    これらのフィールドをリクエストから省略すると、変更されません。

2022 年 11 月 1 日

  • 新しい liveBroadcasts.cuepoint メソッドにより、YouTube でライブ配信を行っているチャンネル所有者は、そのライブ配信にキューポイントを挿入して、ミッドロール挿入点をトリガーできるようになります。このメソッドは、YouTube コンテンツ パートナーのみがライブ配信にキューポイントを挿入できる liveCuepoints.insert メソッドに代わるものです。

    この新しい方法の利用可能を反映して、いくつかのガイドが更新されました。

  • 注: これは非推奨のお知らせです。

    liveCuepoints.insert メソッドは非推奨になりました。liveCuepoints.insert メソッドのサポートは、2023 年 5 月 1 日以降に終了します。API ユーザーは、代わりに liveBroadcasts.cuepoint メソッドを呼び出すようにアプリケーションを更新する必要があります。

  • liveBroadcasts.control メソッドのドキュメントを削除しました。このメソッドの非推奨に関するお知らせは 2020 年 9 月に投稿されています。

2022 年 10 月 1 日

この改訂での変更内容は次のとおりです:

  • liveBroadcasts.update メソッドでは、次のフィールドに値を指定する必要がなくなりました。

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    これらのフィールドをリクエストから省略すると、変更されません。

  • サポートが終了した liveBroadcast フィールドのドキュメントを削除しました。

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

2022 年 4 月 1 日

この改訂での変更内容は次のとおりです:

  • snippet.type プロパティで、次の 2 つの新しい値がサポートされるようになりました。

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • liveChatMessage リソースの新しい snippet.membershipGiftingDetails プロパティとその子には、メンバーシップ ギフト イベントに関する情報が含まれます。同様に、新しい snippet.giftMembershipReceivedDetails プロパティとその子には、ギフト メンバーシップ受信イベントに関する情報が含まれます。

2021 年 9 月 15 日

この改訂での変更内容は次のとおりです:

  • snippet.type プロパティで、次の 2 つの新しい値がサポートされるようになりました。

    • newSponsorEvent
    • memberMilestoneChatEvent
  • liveChatMessage リソースの新しい snippet.memberMilestoneChatDetails プロパティとその子には、メンバー マイルストーン チャット イベントに関する情報が含まれます。同様に、新しい snippet.newSponsorDetails プロパティとその子には、新しいスポンサー イベントに関する情報が含まれています。

2020 年 12 月 1 日

API の liveBroadcasts.transition メソッドは、ユーザーが特定の期間内に送信したリクエストが多すぎることを示す新しい 403Forbidden)エラーをサポートしています。エラーの理由は userRequestsExceedRateLimit です。

2020 年 9 月 21 日

  • liveBroadcast リソースの status.madeForKids プロパティの定義を更新し、プロパティが読み取り専用であることを明確にしました。これは API 機能の変更を反映したものではありません。

    ライブ配信を子ども向けとして指定するには、liveBroadcasts.insert メソッドを呼び出して配信を作成するときに、status.selfDeclaredMadeForKids プロパティを true に設定します。

  • 注: この変更には、非推奨に関するお知らせと、以前の非推奨に関するお知らせの更新が含まれています。

    liveBroadcasts.control メソッドは 2020 年 10 月 1 日以降に非推奨となります。この日以降、このメソッドの呼び出しはすべて禁止(403)エラーを返します。このメソッドは後で完全に削除されます。クライアントは、YouTube の取り込みサーバーに送信される動画にオーバーレイを追加することで、独自の番組編成を実装できます。

    2020 年 4 月 16 日に発表されたサポート終了のお知らせのサポート終了日は、当初 2020 年 9 月 1 日を予定していましたが、2020 年 10 月 1 日以降に延期されました。そのため、その非推奨のお知らせに記載されている機能と liveBroadcasts.control メソッドはすべて同時に非推奨になります。

2020 年 7 月 17 日

注: これは、以前のサポート終了のお知らせの更新です。

liveStream リソースの cdn.format フィールドは 2016 年 4 月に非推奨となり、2020 年 8 月 17 日をもってサポートが終了します。このフィールドを使用しているリクエストは、その日をもって失敗します。

コードで cdn.format フィールドが引き続き使用されている場合は、cdn.frameRate プロパティと cdn.resolution プロパティを使用して、フレームレートと解像度を個別に指定するようにコードを更新する必要があります。

2020 年 7 月 6 日

HLS を介した YouTube ライブ コンテンツの配信ガイドが更新され、以下の変更が加えられました。

  • メディア セグメントの推奨時間は 1 ~ 4 秒に更新されました。
  • 新しいセクションで、YouTube Studio から HLS 取り込み URL を取得する方法について説明します。
  • file パラメータ値のフォーマット手順が、新しいHLS 取り込み URL の完成セクションに移動されました。これらの手順は、HLS 取り込み URL が YouTube API から取得されるか、YouTube クリエイター ツールから取得されるかにかかわらず適用されます。

また、新しい取り込みプロトコルの比較では、YouTube がサポートする取り込みプロトコル、各プロトコルでサポートされているコーデック、各プロトコルの適切なユースケースに関する追加情報が一覧表示されます。

2020 年 4 月 16 日

今回の更新には、新しいプロパティと非推奨のお知らせが含まれています。

  • liveBroadcast リソースで contentDetails.enableAutoStop プロパティがサポートされるようになりました。このプロパティは、チャンネル所有者がバインドされた動画ストリームで動画のストリーミングを停止してから 1 分ほど後に、ブロードキャストを自動的に停止するかどうかを示します。

    ブロードキャストのライフサイクルのドキュメントが更新され、contentDetails.enableAutoStart プロパティまたは contentDetails.enableAutoStop プロパティを true に設定した場合の、YouTube ライブイベントの作成と管理の手順が変更された点について説明しています。

  • 注: これは非推奨のお知らせです。この変更は 2020 年 9 月 1 日以降に有効になります。変更が有効になる実際の日付は、以下では非推奨日付と呼ばれます。

    この更新では、互換性を破る可能性がある変更について説明します。これは、チャンネルのデフォルトの liveStream リソースと liveBroadcast リソースを使用して YouTube でライブ コンテンツをストリーミングする API クライアント アプリケーションに影響します。具体的には、永続的なライブ配信とストリームに関連付けられたライブ配信 IDストリーム ID は、新しいライブ配信を開始するために機能しなくなります。

    次のいずれかに該当する場合、アプリは影響を受けます。

    • liveBroadcast リソースの isDefaultBroadcast プロパティの値を確認します。このプロパティは、非推奨日以降は返されなくなります。
    • liveStream リソースの isDefaultStream プロパティの値を確認します。このプロパティは、非推奨日以降は返されなくなります。
    • liveBroadcasts.list メソッドを呼び出し、broadcastType パラメータ値を persistent または all に設定します。このパラメータは、これらの変更の一環として非推奨になります。サポート終了日時点では、次のようになります。
      • broadcastType パラメータの値が persistent の場合、liveBroadcasts.list メソッドは結果を返しません。
      • broadcastType パラメータ値が all の場合、liveBroadcasts.list メソッドはその時間より前に存在した永続ブロードキャストを返しません。

    背景として、過去数年間、YouTube では、チャンネルでライブ配信が有効になっていると、チャンネルのデフォルト ストリームとデフォルト ブロードキャストが自動的に作成されていました。デフォルトのストリームは無期限に存在し、開始時間と終了時間が関連付けられておらず、削除できませんでした。同様に、デフォルトのブロードキャストも永続的と見なされていました。常に存在し、特定のイベントにバインドされていませんでした。

    非推奨日時点では、次のようになります。

    • YouTube では、デフォルトのライブ配信とライブ配信を作成できなくなります。API クライアントは、デフォルトのリソースに依存するのではなく、liveBroadcast リソースと liveStream リソースを作成して管理し、それらのリソースをバインドできる必要があります。
    • チャンネルのデフォルトのブロードキャストとデフォルトのストリームがアクティブに配信中である場合(つまり、サポート終了が有効になった時点でチャンネルがライブ配信に使用している場合)、進行中のブロードキャストは影響を受けません。ただし、そのブロードキャストが終了すると、チャンネルはデフォルトのブロードキャストとデフォルトのストリームを再度使用できなくなります。
    • チャンネルのデフォルトのブロードキャスト ストリームとデフォルトのストリームがアクティブに配信されていない場合、サポート終了が有効になると、YouTube はこれらのリソースを使用して動画をブロードキャストする試みを無視します。

    お客様のアプリが影響を受ける場合は、次のドキュメントを参照してください。この変更後も想定どおりに機能するようにアプリを更新する際に役立ちます。

    • 新しい移行ガイドでは、現在デフォルトのブロードキャストとストリームを使用している API クライアントでデベロッパーが対応する必要がある手順について説明しています。
    • ライブ配信のライフサイクル ガイドでは、YouTube でライブイベントを作成して管理する方法について、手順を追って説明しています。各ステップでは、特定のアクションを完了するために必要な API 呼び出しやその他の処理について説明します。YouTube がデフォルトのストリーミングとブロードキャストのサポートを終了したときに、アプリは、そのプロセスに従う必要があります。

2020 年 3 月 31 日

注: これは非推奨のお知らせです。

sponsor リソースと sponsors.list メソッドは非推奨となり、member リソースと members.list メソッドに置き換えられました。

sponsors.list メソッドは、2020 年 9 月 30 日以降はサポートされなくなります。API クライアントは、sponsors.list メソッドの呼び出しを更新して、代わりに members.list メソッドを使用する必要があります。新しいリソースの詳細については、YouTube Data API のリビジョン履歴をご覧ください。

2020 年 3 月 11 日

HLS を介したライブ YouTube コンテンツの配信ガイドの取り込みエンドポイントのセクションが更新され、プライマリとバックアップの取り込み URL を形成する際にエンコーダが file= パラメータ値を完成させるために使用するプロセスが明確になりました。

2020 年 2 月 4 日

HLS を介した YouTube ライブ コンテンツの配信ガイドが更新され、DELETE リクエストは省略可能で、YouTube の HLS エンドポイントでは無視されることが明記されました。パフォーマンス上の理由から、YouTube ではクライアントが DELETE リクエストを送信しないことをおすすめします。

2020 年 1 月 10 日

この API は、子ども向けコンテンツ(YouTube では「子ども向け」)を特定する機能をサポートするようになりました。「子ども向け」コンテンツについて詳しくは、YouTube ヘルプセンターをご覧ください。

  • liveBroadcast リソースは、コンテンツ クリエイターと視聴者が「子ども向け」コンテンツを特定できるようにする 2 つの新しいプロパティをサポートしています。
    • selfDeclaredMadeForKids プロパティを使用すると、コンテンツ クリエイターはライブ配信が子供向けコンテンツであるかどうかを指定できます。このプロパティは、liveBroadcasts.insert メソッドを介してブロードキャストを作成するときに設定できます。このプロパティが liveBroadcast リソースを含む API レスポンスに含まれるのは、チャンネル所有者が API リクエストを承認した場合のみです。
    • madeForKids プロパティを使用すると、API ユーザーはブロードキャストの「子供向け」ステータスを取得できます。たとえば、ステータスは selfDeclaredMadeForKids プロパティの値に基づいて決定できます。チャンネル、動画、ライブ配信の視聴者を設定する方法について詳しくは、YouTube ヘルプセンターをご覧ください。
  • YouTube Data API では、channel リソースは新しい selfDeclaredMadeForKids プロパティと madeForKids プロパティもサポートしています。

また、YouTube API サービスの利用規約とデベロッパー ポリシーも更新しました。詳しくは、YouTube API サービスの利用規約 - 改訂履歴をご覧ください。YouTube API サービスの利用規約とデベロッパー ポリシーの変更は、2020 年 1 月 10 日(太平洋時間)に有効になります。

2019 年 8 月 20 日

HLS を介した YouTube ライブ コンテンツの配信ガイドの要件セクションが更新され、次の 2 つの変更が加えられました。

  • 各メディア プレイリストに、承認済みセグメントと未解決セグメントの両方を含めることをおすすめします。これにより、サーバーサイドでメディア プレイリストが失われた場合にセグメントがスキップされる可能性が低くなります。たとえば、各メディア プレイリストに最大 2 つの確認済みセグメントと最大 5 つの未処理セグメントを含めることができます。
  • メディア セグメントごとにメディア プレイリストを送信することが必須になりました。これにより、メディア プレイリストが失われた場合にサーバーを迅速に復元できます。この方法は以前は推奨事項として記載されていました。

2019 年 6 月 28 日

YouTube が HLS の取り込みに対応しました。これに伴い、liveStream リソースの ingestionType プロパティは、HLS を使用して YouTube に取り込まれたストリームを識別する新しい値 hls をサポートしています。

新しいHLS を介した YouTube ライブ コンテンツの配信ガイドでは、HLS を使用してエンコーダから YouTube にライブ コンテンツをストリーミングするためのガイドラインが示されています。このガイドは、エンコーダ ベンダーが製品に HLS 配信のサポートを追加できるようにすることを目的としています。

2019 年 4 月 4 日

この改訂での変更内容は次のとおりです:

  • API リファレンス ドキュメントが更新され、各メソッドの一般的なユースケースがよりわかりやすく説明されるようになりました。また、API Explorer ウィジェットを通じて、高品質で動的かつ動的なコードサンプルが提供されるようになりました。例については、liveBroadcasts.list メソッドのドキュメントをご覧ください。API メソッドを説明するページに、2 つの新しい要素が追加されました。

    • API Explorer ウィジェットを使用すると、認可スコープを選択して、サンプルのパラメータとプロパティの値を入力し、実際の API リクエストを送信して実際の API レスポンスを確認できます。ウィジェットには、入力したスコープと値を使用して動的に更新される完全なコードサンプルを表示する全画面ビューもあります。

    • [一般的なユースケース] セクションでは、ページで説明されているメソッドの一般的なユースケースについて説明します。たとえば、liveBroadcasts.list メソッドを呼び出して、特定のブロードキャストに関するデータや、現在のユーザーのブロードキャストに関するデータを取得できます。

      このセクションのリンクを使用して、ユースケースのサンプル値を API Explorer に入力したり、それらの値がすでに入力されたフルスクリーンの API Explorer を開いたりできます。これらの変更は、独自のアプリに実装しようとしているユースケースに直接適用できるコードサンプルを簡単に確認できるようにすることを目的としています。

    現在、コードサンプルは Java、JavaScript、PHP、Python、curl でサポートされています。

  • コードサンプルページにも、上記と同じ機能をすべて備えた新しい UI が導入されています。このツールを使用すると、さまざまなメソッドのユースケースを調べたり、API Explorer に値を読み込んだり、API Explorer を全画面表示して Java、JavaScript、PHP、Python のコードサンプルを取得したりできます。

    この変更に伴い、Java、PHP、Python で利用可能なコードサンプルが記載されていたページは削除されました。

2019 年 2 月 25 日

liveChatMessage リソースと superChatEvent リソースのドキュメントが更新され、両方のリソースに Super Stickers に関する情報を含めることができるようになりました。Super Stickers は、画像を表示する Super Chat メッセージの一種です。他の Super Chat と同様に、Super Sticker メッセージは YouTube ライブ配信中にファンが購入します。

  • liveChatMessage リソースの snippet.type プロパティが superStickerEvent に設定され、リソースにスーパー ステッカーに関する情報が含まれていることが示されるようになりました。その場合、リソースには snippet.superStickerDetails オブジェクトも含まれ、スーパー ステッカーに関する追加情報が含まれます。
  • superChatEvent リソースのブール値 snippet.isSuperStickerEvent は、Super Chat メッセージが Super Sticker でもあるかどうかを示します。その場合は、snippet.superStickerMetadata オブジェクトに Super Stickers の詳細情報が含まれます。

2018 年 4 月 5 日

superChatEvents.list メソッドの説明を更新し、2017 年初頭に非推奨となった fanFundingEvents が API レスポンスから削除されたことを反映しました。

2017 年 4 月 3 日

ライブチャット メッセージを一覧表示挿入削除する方法を示した新しい Java コードサンプルが追加されました。サンプルは次のメソッドを呼び出します。

2017 年 2 月 13 日

この改訂での変更内容は次のとおりです:

  • 既存のリソースとメソッドの更新

    • onBehalfOfContentOwner パラメータが現在必須であるという事実を反映するように、liveCuepoints.insert メソッドが更新されました。また、このメソッドの呼び出しは YouTube コンテンツ所有者に関連付けられたアカウントによって承認される必要があることを明記するため、メソッドの説明が更新されました。

2017 年 2 月 9 日

この改訂での変更内容は次のとおりです:

  • 既存のリソースとメソッドの更新

    • superChatEvents.list メソッドの新しい hl パラメータを使用すると、snippet.displayString プロパティ値を特定の言語の規則に従ってフォーマットするように指定できます。そのプロパティの定義も、それに応じて更新されています。

      パラメータの値は、i18nLanguages.list メソッドから返されたリストに含まれる言語コードにする必要があります。デフォルト値は en です。つまり、デフォルトの動作では、表示文字列が英語で使用されるようにフォーマットされます。たとえば、デフォルトでは、文字列は $1,00 ではなく $1.00 としてフォーマットされます。

2017 年 2 月 1 日

この改訂での変更内容は次のとおりです:

  • 新しいリソースとメソッド

    • 新しい superChatEvent リソースは、YouTube ライブ配信中にファンが購入した Super Chat メッセージを表します。YouTube のチャット ストリームでは、Super Chat が他のメッセージより目立つ理由は 2 つあります。

      • Super Chat は色付きでハイライト表示されます。
      • Super Chat は、一定時間ティッカー内に固定表示されます。

      Super Chat の色、ティッカーに固定される時間、メッセージの最大長はすべて、購入金額によって決まります。Super Chat について詳しくは、YouTube ヘルプセンターをご覧ください。

      この API は、チャンネルの過去 30 日間のライブ配信の Super Chat イベントを一覧表示するメソッドをサポートしています。このメソッドは、チャンネルの最後のライブ配信のファンの支援イベント(fanFundingEvents)に関するデータも返します。

  • 既存のリソースとメソッドの更新

    • snippet.type プロパティで superChatEvent 値がサポートされるようになりました。これは、リソースが Super Chat を表すことを示します。

      さらに、liveChatMessage リソースの新しい snippet.superChatDetails プロパティとその子には、Super Chat イベントに関する情報が含まれます。

    • liveStream リソースの cdn.resolution プロパティが、値 2160p をサポートするようになりました。

  • 新しいエラーと更新されたエラー

    • この API は、次の新しいエラーをサポートしています。

      エラーの詳細
      liveBroadcasts.insertliveBroadcasts.update liveBroadcasts.insert メソッドと liveBroadcasts.update メソッドは、挿入または更新される liveBroadcast リソースに contentDetails.enableEmbed プロパティまたは contentDetails.projection プロパティのいずれかの無効な値が含まれていることを示す 400Bad Request)エラーを返します。2 つの新しいエラーのエラー理由は、それぞれ invalidEmbedSettinginvalidProjection です。

2017 年 1 月 12 日

注: これは非推奨のお知らせです。

新しい Super Chat 機能のリリースに伴い、YouTube は視聴者ファンディング機能を非推奨としました。視聴者ファンディング API は 2017 年 2 月 28 日に無効になります。その日付時点では、次のようになります。

2016 年 8 月 11 日

この改訂での変更内容は次のとおりです:

  • 新しく公開された YouTube API サービスの利用規約(「更新された利用規約」)は、YouTube エンジニアリングとデベロッパーのブログで詳しく説明されていますが、現在の利用規約の多くの点が更新されています。2017 年 2 月 10 日に発効する利用規約の改定に加えて、デベロッパーが遵守すべきポリシーを説明する補足ドキュメントがいくつか追加されています。

    新しいドキュメントの全文については、更新された利用規約の変更履歴をご覧ください。また、更新された利用規約やその補足書類の今後の変更についても、その変更履歴で説明されます。ドキュメント内のリンクから、その変更履歴の変更を示す RSS フィードを購読できます。

2016 年 5 月 20 日

YouTube で DASH の取り込みがサポートされるようになりました。それに伴い、liveStream リソースの ingestionType プロパティは、DASH を使用して YouTube に取り込まれたストリームを識別する新しい値 dash をサポートしています。

新しいDASH を介した YouTube ライブ コンテンツの配信ガイドでは、DASH 配信形式を使用してエンコーダから YouTube にライブデータをストリーミングするためのガイドラインが提供されています。エンコーダ ベンダーが製品に DASH 配信のサポートを追加できるようにすることを目的としています。

2016 年 4 月 18 日

この改訂での変更内容は次のとおりです:

  • 既存のリソースとメソッドの更新

    • liveStream リソースの更新
      • YouTube で、1440p 解像度で 30 フレーム/秒または 60 フレーム/秒のストリーミングがサポートされるようになりました。

        また、liveStream リソースには、受信動画データのフレームレートと解像度を指定する新しいプロパティが含まれています。

        プロパティ
        cdn.frameRate 受信動画データのフレームレート。有効な値は 30fps60fps です。
        cdn.resolution 受信動画データの解像度。有効なプロパティ値は、1440p1080p720p480p360p240p です。
      • liveStream リソースの cdn.frameRate プロパティと cdn.resolution プロパティの導入に伴い、リソースの cdn.format は非推奨になりました。cdn.format プロパティは、解像度とフレームレートを 1 つの値で指定します。

        新しくサポートされるフィールドに移行することをおすすめします。その間、cdn.format は引き続き機能します。また、現在、cdn.format プロパティまたは cdn.frameRate プロパティと cdn.resolution プロパティのいずれかに値を指定すると、ライブ配信の挿入リクエストが成功します。3 つのプロパティすべてに値を指定した場合、値が一致しないと API からエラーが返されることがあります。

        cdn.format プロパティは非推奨になりましたが、API が 1440p ストリームを 30 フレーム / 秒または 60 フレーム / 秒でサポートしていることを反映して、1440p1440p_hfr の 2 つの新しい値がサポートされるようになりました。

    • liveBroadcast リソースの更新
      • liveBroadcast リソースには、次の新しいプロパティが含まれています。

        プロパティ
        contentDetails.boundStreamLastUpdateTimeMs ブロードキャストの contentDetails.boundStreamId プロパティで参照されるライブ ストリームが最後に更新された日時。
        contentDetails.projection ブロードキャストの投影形式。このプロパティのデフォルト値は rectangular です。このプロパティの有効な値は 360rectangular です。
      • liveBroadcast リソースの statistics.totalChatCount プロパティの定義が更新され、プロパティ値はブロードキャスト内にチャット メッセージが 1 つ以上ある場合にのみ表示されることになりました。

    • liveChatMessage リソースの更新
      • snippet.type プロパティは、次の箇条書きで説明する新しいプロパティに対応する 2 つの新しい値(messageDeletedEventuserBannedEvent)をサポートしています。snippet.authorChannelId プロパティの定義も更新され、これらの新しいメッセージ タイプでプロパティ値が識別する内容が説明されています。

      • liveChatMessage リソースには、次の新しいプロパティが含まれています。

        プロパティ
        snippet.messageDeletedDetails このオブジェクトには、チャット モデレーターによって削除されたメッセージに関する情報が含まれます。このオブジェクトは、snippet.type プロパティの値が messageDeletedEvent の場合にのみ存在します。
        snippet.userBannedDetails このオブジェクトには、チャットへの参加を禁止されたユーザーに関する情報が含まれます。このオブジェクトには、禁止自体に関する情報(禁止が永続的か一時的か)も含まれます。一時的な禁止の場合は、オブジェクトのプロパティのいずれかで禁止期間を指定します。

        このオブジェクトは、snippet.type プロパティの値が userBannedEvent の場合にのみ存在します。
  • 新しいエラーと更新されたエラー

    • この API は、次の新しいエラーをサポートしています。

      エラーの詳細
      liveBroadcasts.bind liveBroadcasts.bind メソッドは、ユーザーが特定の期間内に送信したリクエストが多すぎることを示す 403Forbidden)エラーを返します。エラーの理由は userRequestsExceedRateLimit です。

      liveBroadcasts.insert メソッドと liveBroadcasts.update メソッドは、すでに同じエラーをサポートしています。
      liveStreams.insert liveStreams.insert メソッドは、リクエストで挿入しようとした liveStream リソース内の無効なプロパティ値を識別する 4 つの新しい 400Bad Request)エラーをサポートしています。次のリストに、エラーの理由と、それらに関連付けられているプロパティを示します。
      liveStreams.insert liveStreams.insert メソッドは、2 つの新しい 400Bad Request)エラーをサポートしています。どちらも、リクエストで挿入しようとした liveStream リソースに必要な値が存在しないことを示します。次のリストに、エラーの理由と、それらに関連付けられているプロパティを示します。
      具体的には、liveStream リソースを挿入する場合は、cdn.format プロパティまたは cdn.frameRate cdn.resolution プロパティのいずれかの値を指定する必要があります。
      • 3 つのプロパティのいずれにも値を指定しない場合、API は formatRequired エラーを返します。
      • cdn.resolution の値を指定して cdn.frameRate の値を指定しなかった場合、API は frameRateRequired エラーを返します。
      • cdn.frameRate の値を指定して cdn.resolution の値を指定しなかった場合、API は resolutionRequired エラーを返します。
      liveStreams.update リクエストで、次の変更不可のプロパティの値を変更しようとすると、liveStreams.update メソッドは 403Forbidden)エラーを返します。 エラー レスポンスの reasonliveStreamModificationNotAllowed です。

2015 年 12 月 18 日

欧州連合(EU)の法律では、EU のエンドユーザーに対して特定の情報を開示し、同意を得ることが義務付けられています。そのため、欧州連合(EU)のエンドユーザーに対しては、EU ユーザーの同意ポリシーに準拠する必要があります。この要件に関する通知を YouTube API 利用規約に追加しました。

2015 年 12 月 17 日

この改訂での変更内容は次のとおりです:

  • 新しいリソースとメソッド

    • この API は、ライブ配信のチャット機能をサポートするいくつかの新しいリソースをサポートしています。YouTube は、ライブ配信中のチャット機能をサポートしています。これらのリソースとそのメソッドは、チャット メッセージの取得とチャットの管理機能をサポートしています。

      リソース
      liveChatMessage このリソースは、YouTube ライブチャットのメッセージを表します。YouTube では、テキスト メッセージやファンディング イベントなど、複数の種類のメッセージがサポートされています。一部のメッセージ タイプは、スポンサー限定の期間の開始やチャットの終了など、チャットの特定のフェーズを識別します。この API は、チャット メッセージを一覧表示、挿入、削除するメソッドをサポートしています。
      liveChatModerators このリソースは、チャット モデレータを識別します。モデレーターは、チャットからのユーザーの禁止やメッセージの削除などの管理機能を実行できます。この API は、チャット モデレーターを一覧表示、挿入、削除するメソッドをサポートしています。
      liveChatBans このリソースは、特定のチャットにメッセージを投稿することを禁止されているユーザーを識別します。禁止措置は一時的または永続的です。この API は、ライブチャットの禁止を挿入および削除するメソッドをサポートしています。
      fanFundingEvents このリソースは、YouTube チャンネルの視聴者ファンディング イベントを表します。視聴者ファンディングは、視聴者が YouTube クリエイターを 1 回限りの金銭的支援で任意でサポートできる方法です。

      API の fanFundingEvents.list メソッドは、チャンネルのファンの支援イベントを一覧表示します。チャンネル所有のライブ配信中にチャットで開始されたファンディング イベントでも、配信のチャットに fanFundingEvent メッセージがトリガーされます。

      ファンディングについて詳しくは、YouTube ヘルプセンターをご覧ください。
      sponsors sponsor リソースは、YouTube チャンネルのスポンサーを識別します。スポンサーはチャンネルに月額料金を支払います。バッジは、チャンネルのチャットでスポンサーのメッセージの横に表示されます。また、スポンサーは、チャンネルのスポンサー限定のチャット(存在する場合)に参加することもできます。

      API の sponsors.list メソッドを使用すると、チャンネルのスポンサーを一覧表示できます。ユーザーがチャンネル所有のライブ配信中にチャンネルのスポンサーに登録すると、API によってそのライブ配信のチャットに newSponsorEvent メッセージも追加されます。

      スポンサーシップについて詳しくは、YouTube ヘルプセンターをご覧ください。

  • 既存のリソースとメソッドの更新

    • liveBroadcast リソースには、次の新しいプロパティが含まれています。

      プロパティ
      snippet.liveChatId ブロードキャストの YouTube ライブチャットの ID。この ID を使用すると、liveChatMessage リソースのメソッドを使用して、チャット メッセージを取得、挿入、削除できます。チャット モデレーターの追加や削除、ライブチャットへの参加を禁止するユーザーの指定、既存の禁止措置の解除も可能です。
      contentDetails.closedCaptionsType 注: このプロパティは contentDetails.enableClosedCaptions プロパティに代わるものです。

      このプロパティは、ブロードキャストに対して字幕が有効になっているかどうか、有効になっている場合はどのような種類の字幕を提供しているかを示します。
      • closedCaptionsDisabled: ライブ配信で字幕が使用できません。
      • closedCaptionsHttpPost: 字幕は、HTTP POST を介して、ライブ配信に関連付けられた取り込み URL に送信されます。
      • closedCaptionsEmbedded: 字幕は、EIA-608 形式または CEA-708 形式を使用して動画ストリームにエンコードされます。
      contentDetails.enableClosedCaptions このプロパティは 2015 年 12 月 17 日をもって非推奨になりました。代わりに contentDetails.closedCaptionsType プロパティを使用してください。このプロパティをすでに使用している API クライアントの場合:
      • プロパティ値を true に設定することは、contentDetails.closedCaptionsType プロパティを closedCaptionsHttpPost に設定することと同じです。
      • プロパティ値を false に設定することは、contentDetails.closedCaptionsType プロパティを closedCaptionsDisabled に設定することと同じです。
    • liveBroadcasts.list メソッドの新しい broadcastType パラメータを使用すると、API レスポンスをフィルタして、イベント ブロードキャスト、永続ブロードキャスト、またはすべてのブロードキャストを含めることができます。

      永続ブロードキャストは、常に存在し、特定のイベントに関連付けられていないブロードキャストです。具体的には、チャンネルのデフォルト ブロードキャストは永続的なブロードキャストであり、YouTube クリエイター ツールのライブ配信ダッシュボードからアクセスできます。チャンネルの他のブロードキャストはイベント ブロードキャストです。

  • liveStream リソースの status.healthStatus.configurationIssues[].type フィールドは、次の新しいヘルス ステータス エラーを報告します。

    エラー
    audioTooManyChannels 音声が 3 チャンネル以上ありますが、1 チャンネル(モノラル)と 2 チャンネル(ステレオ)以外はサポートされていません。音声チャンネルの数を修正してください。
    frameRateHigh 現在のフレームレートは高すぎます。フレームレートを %(framerate)s fps 以下に設定してください。
  • 以前のドキュメントの更新日が修正されました。

  • 新しいエラーと更新されたエラー

    • API は、上記の新しいリソースに定義されているエラーに加えて、次の新しいエラーもサポートしています。

      エラーの詳細
      liveBroadcasts.update
      HTTP レスポンス コードforbidden (403)
      理由closedCaptionsTypeModificationNotAllowed
      説明contentDetails.closedCaptionsType 値は、ブロードキャストが created ステータスまたは ready ステータスの場合のみ変更できます。
      liveBroadcasts.update
      HTTP レスポンス コードinvalidValue (400)
      理由invalidEnableClosedCaptions
      説明liveBroadcast リソースcontentDetails.enableClosedCaptions プロパティの値が、contentDetails.closedCaptionType 設定の値と互換性がありません。2 つのプロパティのいずれかのみを含むようにリソースを変更し、リクエストを再送信します。

2015 年 8 月 19 日

この改訂での変更内容は次のとおりです:

  • 新しいリソースとメソッド

    • 注: liveChat リソースとそのメソッドのドキュメントは機密情報であり、一部の YouTube パートナーのみが閲覧できます。

      新しい liveChat リソースには、YouTube のライブ配信中に投稿されたコメントが含まれます。この API は、このリソースに対して次の 2 つのメソッドをサポートしています。

      メソッド
      liveChats.list ブロードキャストのチャット メッセージを一覧表示します。
      liveChats.insert 新しいチャット メッセージを作成します。

      チャット メッセージは、ライブ配信中にのみ取得、投稿できます。

  • 既存のリソースとメソッドの更新

    • liveStream リソースには、次の新しいプロパティが含まれています。

      プロパティ
      snippet.isDefaultStream このストリームがチャンネルのデフォルト ストリームかどうかを示します。チャネルのデフォルト ストリームは無期限に存在し、開始時間や終了時間は関連付けられません。また、削除することもできません。デフォルト ストリームの仕組みの詳細については、プロパティの定義をご覧ください。
      status.healthStatus このオブジェクトには、ストリーミングの問題の特定、診断、解決に役立つ情報が含まれています。このオブジェクトには、ライブ動画ストリームの健全性を評価するのに役立つ多くの子プロパティが含まれています。

      特に、status.healthStatus.configurationIssues[] オブジェクトには、動画ストリームに影響する問題が一覧表示されます。新しいドキュメント「LiveStream リソースの構成に関する問題」では、API が報告するすべての問題が一覧表示されます。
      contentDetails.isReusable ストリームが再利用可能かどうかを示します。つまり、複数のブロードキャストにアタッチできるかどうかを示します。放送局は、放送が異なる時間帯に行われる場合、多くの異なる放送で同じストリームを再利用することがあります。
    • liveBroadcast リソースには、次の新しいプロパティが含まれています。

      プロパティ
      snippet.isDefaultBroadcast このブロードキャストがチャンネルのデフォルトのブロードキャストかどうかを示します。YouTube チャンネルでライブ配信が有効になると、チャンネルのデフォルトのストリームとデフォルトのブロードキャストが作成されます。ストリームは、チャンネル所有者がライブ動画を YouTube に送信する方法を定義します。ブロードキャストとは、視聴者がデフォルトのストリームを視聴する方法です。デフォルト ブロードキャストの動作の詳細については、プロパティの定義をご覧ください。
      contentDetails.enableLowLatency このブロードキャストを低レイテンシ ストリーミング用にエンコードするかどうかを示します。低レイテンシ ストリームを使用すると、ブロードキャストを視聴しているユーザーに動画が表示されるまでの時間が短縮されますが、ストリームの視聴者の解像度に影響することもあります。
      statistics.totalChatCount ブロードキャストに対応するチャット メッセージの合計数。このプロパティとその値は、ライブ配信がユーザーに表示され、ライブチャット機能が有効になっている場合に存在します。このプロパティには、ブロードキャストの終了後に値を指定しません。そのため、このプロパティでは、終了したライブ配信のアーカイブ動画のチャット メッセージ数は特定されません。
  • 新しいエラーと更新されたエラー

    • API は、新しい liveChat リソースに定義されているエラーに加えて、次の新しいエラーもサポートしています。

      エラーの詳細
      liveStreams.update
      HTTP レスポンス コードforbidden (403)
      理由liveStreamModificationNotAllowed
      説明この API では、再利用可能なストリームを再利用不可に変更したり、その逆を変更したりすることはできません。詳細については、ブロードキャストとストリームの理解をご覧ください。

2015 年 5 月 21 日

この改訂での変更内容は次のとおりです:

  • YouTube は、60 フレーム / 秒(FPS)のライブ動画配信に対応しました。これにより、ゲームやその他の高速アクション動画の再生がスムーズになります。YouTube で 60 fps でライブ配信を開始すると、高フレームレートでの視聴がまだ利用できないデバイスでも、30 fps でライブ配信を視聴できます。

    liveStream リソースの cdn.format プロパティは、この機能の 2 つの新しい値(720p_hfr1080p_hfr)をサポートしています。

    この機能の詳細については、YouTube クリエイター ブログをご覧ください。

2014 年 8 月 21 日

この改訂での変更内容は次のとおりです:

  • liveBroadcasts.control メソッドの walltime パラメータの定義が更新され、プロパティ値が ISO 8601 形式(YYYY-MM-DDThh:mm:ss.sssZ)で指定されることが明記されました。

  • この API は、次のエラーをサポートするようになりました。

    エラーのタイプ エラーの詳細 説明
    insufficientPermissions liveStreamingNotEnabled API リクエストを承認したユーザーが YouTube でライブ動画をストリーミングすることを許可されていない場合、liveBroadcast リソースと liveStream リソースのすべてのメソッドがこのエラーを返します。ユーザーがライブ動画をストリーミングできない理由については、ユーザーのチャンネル設定(https://www.youtube.com/features)で詳細を確認できます。
    rateLimitExceeded userRequestsExceedRateLimit liveBroadcasts.insert メソッドと liveStreams.insert メソッドはどちらも、ユーザーが特定の期間内に送信したリクエストが多すぎることを示すためにこのエラーを返します。

2014 年 5 月 2 日

この改訂での変更内容は次のとおりです:

  • liveStream リソースと liveBroadcasts.bind メソッドの説明を更新し、ブロードキャストには 1 つの動画ストリームしかバインドできないが、動画ストリームは複数のブロードキャストにバインドできることを明記しました。この変更はドキュメントの修正のみであり、基盤となる API の機能に変更はありません。

  • liveBroadcast リソースの contentDetails.monitorStream.enableMonitorStream プロパティが更新され、プロパティの値が true の場合、ブロードキャストを live 状態に移行する前に testing 状態に移行する必要があることが説明されました。(プロパティの値が false の場合、ブロードキャストには testing ステージを設定できないため、ブロードキャストを live 状態に直接遷移できます。

  • liveCuepoint リソースの settings.offsetTimeMs プロパティが更新され、ブロードキャスト ストリームにモニター ストリームがない場合は、このプロパティに値を指定しないことが明記されました。

  • liveBroadcast リソースと liveStream リソースのすべてのメソッドが、onBehalfOfContentOwner パラメータと onBehalfOfContentOwnerChannel パラメータをサポートするようになりました。これらのパラメータを使用すると、同じ認可認証情報を使用して、同じコンテンツ所有者に関連付けられている異なるチャネルの API リクエストを完了できます。

  • liveCuepoints.insert メソッドのドキュメントを更新し、そのメソッドを呼び出すときに settings.walltime プロパティの値を設定できることを明記しました。

  • エラーのドキュメントで、各エラータイプの HTTP レスポンス コードを指定しました。

  • この API は、次のエラーをサポートするようになりました。

    エラーのタイプ エラーの詳細 説明
    insufficientPermissions livePermissionBlocked リクエストを承認したユーザーが YouTube でライブ動画をストリーミングできない場合、liveBroadcasts.insertliveBroadcasts.transitionliveStreams.insert メソッドはエラーを返します。ユーザーがライブ動画をストリーミングできない理由については、ユーザーのチャンネル設定(https://www.youtube.com/features)で詳細を確認できます。
  • liveBroadcasts.insert メソッドの invalidScheduledStartTime エラーが更新され、スケジュールされた開始時間が、その時点でのブロードキャストを確実にスケジュールできるほど現在の日付に近いものである必要があることが明確になりました。

2013 年 12 月 13 日

この改訂での変更内容は次のとおりです:

  • liveBroadcast リソースの新しい status.recordingStatus プロパティは、ブロードキャストの現在のステータスを示します。

  • liveBroadcast リソースの新しい contentDetails.enableClosedCaptions プロパティは、ブロードキャスト用に字幕を取り込むことができるかどうかを示します。プロパティ値はブロードキャストを挿入または更新するときに設定できますが、ブロードキャストが testing または live の状態になると更新できなくなります。このプロパティを true に設定すると、ブロードキャストにバインドされている liveStream リソースで、ブロードキャストの字幕に使用する取り込み URL が指定されます。

  • liveBroadcast リソースの snippet.scheduledEndTime プロパティで、無期限に続行するようにスケジュールされたブロードキャストをサポートするようになりました。この変更により、liveBroadcasts.insert リクエストと liveBroadcasts.update リクエストでこのプロパティが不要になりました。

    このプロパティの値を指定しない場合、liveBroadcast リソースを取得すると、ブロードキャストは無期限に続行されます。同様に、liveBroadcasts.insert メソッドまたは liveBroadcasts.update メソッドを呼び出して、このプロパティの値を指定しなかった場合、ブロードキャストは無期限に続行するようにスケジュールされます。

  • liveBroadcast リソースの contentDetails.recordFromStart プロパティのデフォルト値は true でしたが、ブロードキャスト チャンネルがライブ配信の録画を無効にできる場合にのみ false に設定できるようになりました。

    チャンネルに録画を無効にする権限がなく、recordFromStart プロパティが false に設定されたブロードキャストを挿入しようとすると、API から Forbidden エラーが返されます。また、チャンネルにその権限がなく、ブロードキャストを更新して recordFromStart プロパティを false に設定しようとすると、API から modificationNotAllowed エラーが返されます。

  • liveBroadcast リソースに enableArchive プロパティが含まれなくなりました。このプロパティは、contentDetails.enableDvr プロパティと contentDetails.enableEmbed プロパティの説明に記載されていました。

  • liveBroadcast リソースの status.lifeCycleStatus プロパティの有効な値のリストが更新され、各ステータスの説明が追加されました。

  • liveCuepoint リソースの新しい settings.walltime プロパティには、キューポイントを挿入する日時を指定します。リクエストで、このプロパティと settings.offsetTimeMs プロパティの値を指定するキューポイントを挿入しようとすると、API からエラーが返されます。

  • liveStream リソースの新しい contentDetails オブジェクトには、ストリームに関する情報が含まれます。現在、このオブジェクトのプロパティは contentDetails.closedCaptionsIngestionUrl のみです。これは、動画ストリームに関連付けられた字幕の取り込み URL を指定します。

  • liveStream リソースの status.streamStatus プロパティの有効な値のリストが更新され、各ステータスの説明が追加されました。

  • liveBroadcasts.control メソッドの新しい walltime パラメータを使用すると、スレート変更が発生する日時を指定できます。リクエストでこのパラメータと offsetTimeMs パラメータの値が指定されている場合、API はエラーを返します。

  • liveBroadcasts.list リクエストに対する API レスポンスで、kind プロパティの値が youtube#liveBroadcastList から youtube#liveBroadcastListResponse に変更されました。

  • liveStreams.list リクエストに対する API レスポンスで、kind プロパティの値が youtube#liveStreamList から youtube#liveStreamListResponse に変更されました。

  • eventId プロパティは、liveBroadcastListResponseliveStreamListResponse の両方から非推奨になりました。

  • この API は、次の新しいエラーをサポートしています。

    エラーのタイプ エラーの詳細 説明
    invalidValue conflictingTimeFields リクエストで offsetTimeMs パラメータと walltime パラメータの値が指定されている場合、liveBroadcasts.control メソッドはこのエラーを返します。リクエストでは、両方のパラメータを省略するか、2 つのパラメータのいずれかに値を指定します。
    invalidValue invalidWalltime walltime パラメータの値が無効な場合、liveBroadcasts.control メソッドはこのエラーを返します。
    forbidden enableClosedCaptionsModificationNotAllowed contentDetails.enableClosedCaptions 値を更新しようとしたときに、ブロードキャストのステータスが created または ready でない場合、liveBroadcasts.update メソッドはこのエラーを返します。
    invalidValue conflictingTimeFields リクエストで settings.offsetTimeMs プロパティと settings.walltime プロパティの値が指定されている場合、liveCuepoints.insert メソッドはこのエラーを返します。リクエストでは、両方のプロパティを省略するか、2 つのプロパティのいずれかに値を指定できます。

    また、liveStreams.update メソッドは、liveStreams.insert メソッドがサポートするエラーと同様の cdnRequired エラーをサポートしなくなりました。

2013 年 5 月 10 日

この改訂での変更内容は次のとおりです。

2013 年 5 月 2 日

この改訂での変更内容は次のとおりです:

2013 年 3 月 27 日

この改訂での変更内容は次のとおりです:

  • liveBroadcast リソースで変更されたプロパティは次のとおりです。

    • startWithSlateCuepoint プロパティの名前が startWithSlate に変更されました。
    • enableArchive プロパティの名前が recordFromStart に変更されました。
    • slateSettings オブジェクトは非推奨となり、ドキュメントから削除されました。slateSettings オブジェクトまたはそのプロパティに関連するエラー メッセージも削除されました。最後に、スタートガイドの「スレート表示」セクションを削除しました。

  • この API では、liveCuepoints.insert メソッドを使用してインストリーム スレートが挿入される機能がサポートされなくなりました。この変更に伴い、次のドキュメントが更新されました。

    • インデックス ページスタートガイドライブ配信のライフサイクルのチュートリアルでは、この機能について言及しなくなりました。

    • liveCuepoint リソースの settings.cueType プロパティで、プロパティ値として slate がサポートされなくなりました。(サポートされている値は ad のみです。

    • liveCuepoint リソースの settings.eventState プロパティは非推奨となり、ドキュメントから削除されました。

2013 年 3 月 18 日

この改訂での変更内容は次のとおりです:

  • API のエラー メッセージをすべて更新し、考えられるエラーをより明確に説明するようにしました。また、可能であれば、エラーの修正方法に関するガイダンスも提供しています。

  • API が新しいエラーを返すようになりました。以下のリストに、エラーと、そのエラーを返す可能性がある API メソッドを示します。

    • liveBroadcasts.insert - ブロードキャストの終了予定時間は、開始予定時間より後にする必要があります。
    • liveBroadcasts.insert - ブロードキャストが無効なプライバシー ステータスを指定しています。
    • liveBroadcasts.update - リソースに contentDetails.enableArchive プロパティの値が含まれていないか、値が設定されていません。
    • liveBroadcasts.update - リソースに contentDetails.enableContentEncryption プロパティの値が含まれていないか、値が設定されていません。
    • liveBroadcasts.update - リソースに contentDetails.enableDvr プロパティの値が含まれていないか、値が設定されていません。
    • liveStreams.insert - スニペットのタイトルは 1 ~ 128 文字にする必要があります。
    • liveStreams.update - リソースに snippet.title プロパティの値が含まれていないか、値が設定されていません。

  • liveStream リソースのドキュメントを更新し、マルチキャストと WebM がサポートされていない取り込み方法であることを明記しました。cdn.format プロパティの形式のリストが更新され、cdn.multicastIngestionInfo オブジェクトとその子プロパティがリソースのドキュメントから削除されました。また、サポートされている cdn.ingestionType 値のリストから http を削除しました。