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 日

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

2016 年 4 月に非推奨となった liveStream リソースの cdn.format フィールドは、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 では過去数年間、そのチャンネルでライブ配信が有効になったときに、そのチャンネルのデフォルトのストリームと、デフォルトのブロードキャストを自動的に作成してきました。デフォルトのストリームは無期限に存在し、開始時間と終了時間が関連付けられておらず、削除できませんでした。同様に、デフォルトのブロードキャストも永続的と見なされていました。常に存在し、特定のイベントにバインドされていませんでした。

    サポート終了日時点では、次のようになります。

    • デフォルトのストリーミングとブロードキャストは作成されなくなります。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 とバックアップ取り込み 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 に設定され、リソースに Super Sticker に関する情報が含まれていることを示します。その場合、リソースには snippet.superStickerDetails オブジェクトも含まれ、スーパー ステッカーに関する追加情報が含まれます。
  • superChatEvent リソースのブール値 snippet.isSuperStickerEvent は、Super Chat メッセージが Super Sticker でもあるかどうかを示します。存在する場合、snippet.superStickerMetadata オブジェクトには Super Sticker に関する追加の詳細が含まれます。

2018 年 4 月 5 日

superChatEvents.list メソッドの説明が更新され、API レスポンスに 2017 年初頭にサポートが終了した fanFundingEvents が含まれなくなったという事実が反映されました。

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 プロパティは、messageDeletedEventuserBannedEvent の 2 つの新しい値をサポートしています。これらは、以下の箇条書きで説明する新しいプロパティに対応しています。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 プロパティは、この機能に対して 720p_hfr1080p_hfr の 2 つの新しい値をサポートしています。

    この機能について詳しくは、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 プロパティの値が含まれていないか、値が設定されていません。

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