LiveStreams

liveStream リソースには、YouTube に送信する動画ストリームに関する情報が含まれます。ストリームは、YouTube ユーザーにブロードキャストされるコンテンツを提供します。作成した liveStream リソースは、1 つ以上の liveBroadcast リソースにバインドできます。

メソッド

この API は、liveStreams リソースの次のメソッドをサポートしています。

list
API リクエスト パラメータに一致する動画ストリームのリストを返します。今すぐ試す
insert
動画ストリームを作成します。ストリーミングを使用すると、動画を 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 動画に変換し、動画に 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 に送信するために必要な 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
inbound video data の解像度。

このプロパティの有効な値は次のとおりです。
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: この設定を使用すると、ストリーミング 動画の解像度を YouTube が自動的に検出するように指定できます。また、cdn.frameRatevariable に設定する必要があります。
    推奨されるエンコーダ設定については、YouTube ヘルプセンターをご覧ください。
cdn.frameRate string
インバウンド動画データのフレームレート。

このプロパティの有効な値は次のとおりです。
  • 30fps
  • 60fps
  • variable: この設定を使用すると、ストリーミング動画のフレームレートを YouTube が自動的に検出するように指定できます。また、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 に設定した場合、 liveStreams.list メソッドは再利用不可のストリームを一覧表示しません。このメソッドを使用して再利用不可のストリームのリソースを取得する唯一の方法は、id パラメータを使用してストリームを識別することです。