概要
このガイドは、YouTube チャンネルのデフォルトの liveStream リソースと liveBroadcast リソースを使用してライブ コンテンツをストリーミングする API クライアント アプリケーションの開発者を対象としています。これは、アプリケーションがデフォルトのブロードキャストとデフォルトのストリームの非推奨を適切に処理できるようにするためのもので、アプリケーションに次のいずれかのステートメントが当てはまる場合に該当します。
liveBroadcastリソースのisDefaultBroadcastプロパティの値を確認します。liveStreamリソースのisDefaultStreamプロパティの値を確認します。liveBroadcasts.listメソッドを呼び出し、broadcastTypeパラメータ値をpersistentに設定します。サポート終了日以降:broadcastTypeパラメータ値がpersistentの場合、liveBroadcasts.listメソッドは結果を返しません。broadcastTypeパラメータ値がallの場合、liveBroadcasts.listメソッドは、その時刻より前に存在していた永続的なブロードキャストを返しません。
アプリケーションが影響を受ける場合は、アプリケーションの更新セクションを参照してください。このセクションでは、この非推奨化の結果としてアプリケーションで必要になる可能性がある手続き上の変更について説明しています。このセクションでは、ブロードキャストのライフサイクル ガイドに記載されている特定の手順について説明します。API クライアントが現在デフォルトのブロードキャストとストリームを使用している場合、通常はこれらの手順に沿って操作する必要はありません。
現在の状況
2015 年以降、YouTube では、チャンネルでライブ配信が有効になると、そのチャンネルのデフォルトのストリームとデフォルトのブロードキャストが自動的に作成されていました。デフォルトのストリームは無期限に存在し、削除できませんでした。同様に、デフォルトのブロードキャストは永続的と見なされていました。常に存在し、開始時間や終了時間が関連付けられておらず、特定のイベントにバインドされていませんでした。
上記のサポート終了日以降、YouTube はデフォルトのライブ配信とブロードキャストを作成しなくなります。この変更は、これらのリソースを使用してライブ コンテンツをブロードキャストするクライアント アプリケーションに影響します。また、デフォルトのリソースと、チャンネル所有者が作成した他のブロードキャストやストリームを区別するようにユーザー インターフェースがカスタマイズされているアプリケーションにも影響します。
API クライアントは、デフォルトのリソースに依存するのではなく、liveBroadcast リソースと liveStream リソースを作成して管理し、それらのリソースをバインドする必要があります。
アプリケーションを更新する
用語を簡単に確認しておくと、ブロードキャストは、YouTube でリアルタイムに視聴できるイベントを表し、ストリームは、実際の動画コンテンツを YouTube に送信するメカニズムです。ブロードキャストは、1 つのストリームにバインドできます。また、バインドする必要があります。
デフォルトのブロードキャストからの移行
このサポート終了前は、API クライアントはチャンネルのデフォルトのブロードキャストを使用するか、イベント固有のブロードキャストを作成するかを選択できました。デフォルトのブロードキャストは、複数のイベントで再利用できる永続リソースでしたが、イベント固有のブロードキャスト リソースは、1 つの YouTube 動画に正確に対応する 1 回限りのリソースです。
クライアント アプリケーションが liveBroadcasts.list メソッドを呼び出し、次のいずれかを行う場合、デフォルトのブロードキャストを使用します。
broadcastTypeパラメータ値をpersistentに設定します。このリクエストでは、デフォルトのブロードキャストのみが取得されます。broadcastTypeパラメータの値をallに設定し、isDefaultBroadcastプロパティの値がtrueである API レスポンスのliveBroadcastリソースを特定します。
サポート終了後は、イベント固有のブロードキャストのみがサポートされます。
つまり、クライアント アプリケーションはデフォルトのブロードキャストに依存するのではなく、個々のブロードキャスト イベントごとに liveBroadcast リソースを作成する必要があります。
liveBroadcast リソースを作成するには、liveBroadcasts.insert メソッドを呼び出します。このプロセスについては、「ブロードキャストのライフサイクル」ガイドのステップ 1.1 で説明しています。
また、ユーザー インターフェースでは、ユーザーが今後のイベント固有のブロードキャストを区別して選択するためのメカニズムも提供する必要があります。
デフォルト ストリームからの移行
ストリームを使用すると、音声動画コンテンツを YouTube に送信できます。また、コンテンツを YouTube にストリーミングする方法の設定も定義できます。放送局が、異なる時間に放送される複数の異なる放送に同じストリームを再利用することは一般的です。
アプリケーションはデフォルト ストリームを使用できませんが、各ブロードキャストで再利用できる再利用可能なストリームを作成できます。liveStream リソースを作成するには、「ライブ配信のライフサイクル」ガイドのステップ 1.2 の手順に沿って、liveStreams.insert メソッドを呼び出します。デフォルトでは、新しく作成されたストリームは再利用可能です。ただし、必要に応じて、contentDetails.isReusable プロパティを false に設定して、1 回限りのストリームを作成し、ブロードキャストとストリームの間に 1 対 1 の関係を構築することもできます。
次のリストには、新しいストリームの作成時に設定できる 4 つのプロパティ(ストリームのタイトルとストリームの説明以外)が含まれています。このリストには、デフォルト ストリームが各プロパティに使用する値が表示されます。これは、デフォルト ストリームの使用から移行する場合に、クライアント アプリケーションで使用する設定です。
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
ブロードキャストをストリームにバインドする
YouTube でライブ配信を実際に開始する前に、各 liveBroadcast リソースを 1 つのストリームにバインドする必要があります。(作成時点では、ブロードキャストはどのストリームにもバインドされていません)。
デフォルトのブロードキャストでは、バインド プロセスが自動的に処理され、デフォルトのストリームに不可分にバインドされていました。ただし、サポート終了日以降は、クライアント アプリケーションですべてのブロードキャストのプロセスを管理する必要があります。
ブロードキャストをストリームにバインドするには、「ブロードキャストのライフ」ガイドのステップ 1.3 で説明されているように、liveBroadcasts.bind メソッドを呼び出します。
- 再利用可能なストリームを使用している場合は、ストリームを 1 回作成してから、すべてのブロードキャストをそのストリームにバインドできます。
- 再利用可能なストリームを使用していない場合は、ブロードキャストとストリームを作成し、それらをバインドする必要があります。
ブロードキャストをテストする
デフォルトのブロードキャストを使用しない場合は、ブロードキャストをテストできます。テストを行うには、YouTube 視聴者に表示されるのと同様にブロードキャスト動画をプレビューできるプレーヤーを埋め込みます。ただし、ブロードキャストは他の視聴者には表示されません。
API クライアントが以前にデフォルトのブロードキャストとストリームを使用しており、ストリーム処理プロセスにテスト段階を追加する場合は、「ブロードキャストのライフサイクル」ガイドのステージ 3 をご覧ください。
ストリームをテストする場合は、ブロードキャストを挿入するときに、contentDetails.monitorStream.enableMonitorStream プロパティを true に設定し、contentDetails.enableAutoStart プロパティを false に設定する必要があります。これらは、両方のプロパティのデフォルト値です。
自動開始機能と自動停止機能を使用する
デフォルトのブロードキャストは、デフォルトのストリームで動画のストリーミングを開始するたびに自動的に開始されていました。同様に、動画のストリーミングを停止すると、デフォルトのブロードキャストが終了します。これらのデフォルトのリソースを使用した各ストリーミング セッションは、その後チャンネルの動画になりました。
自動開始機能と自動停止機能は、デフォルトのブロードキャストではデフォルトの動作でしたが、他のブロードキャストではオプションであり、有効にする必要があります。これらの機能を使用する場合は、ブロードキャストを挿入するときに、contentDetails.enableAutoStart プロパティと contentDetails.enableAutoStop プロパティの値を true に設定する必要があります。これらの機能は独立しているため、一方のみを使用することもできます。
新しいブロードキャストで自動開始機能と自動停止機能を有効にしない場合、API クライアントは、動画のストリーミングを開始および終了するときに、liveBroadcasts.transition メソッドを呼び出してブロードキャストのステータスを更新する必要があります。ブロードキャストの開始時と終了時にこれらの遷移を管理する手順については、「ブロードキャストのライフ」ガイドのステップ 4.3 とステップ 5.2 をご覧ください。