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 8601YYYY-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
動画ストリームの転送に使用する方法またはプロトコルです。

このプロパティの有効な値は次のとおりです。
  • dash
  • hls
  • rtmp(RTMPS を含む)
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.frameRatevariable に設定する必要があります。
    推奨されるエンコーダの設定については、YouTube ヘルプセンターをご覧ください。
cdn.frameRate string
受信動画データのフレームレート。

このプロパティの有効な値は次のとおりです。
  • 30fps
  • 60fps
  • variable: この設定を使用して、ストリーミングした動画のフレームレートを自動的に検出します。また、cdn.resolutionvariable に設定する必要があります。
    推奨されるエンコーダの設定については、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
ストリームに影響するエラーのタイプを示します。
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 パラメータを使用してストリームを識別することです。