概要
このガイドは、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 回限りのリソースで、1 つの YouTube 動画に正確に対応しています。
クライアント アプリケーションが 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
-variable
cdn.ingestionType
-rtmp
cdn.resolution
-variable
contentDetails.isReusable
-true
ブロードキャストをストリームにバインドする
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 に、ブロードキャストの開始時と終了時にこれらのトランジションを管理する手順が記載されています。