新しいストリームを開始しても、常に同じままのYouTubeライブリンクを持つことは可能です。重要なコンセプトは次のとおりです。

  • YouTubeの**「ライブ配信を開始」** / **「ストリーム」**設定で、再利用可能なストリームキーを使用する
  • 常に現在または次のライブストリームを指す、チャンネルのライブURLを使用する
  • オプションで、その永続的なライブURLをLaravelアプリに埋め込む

以下に、ステップバイステップのガイドを示します。


1. 「永続的な」YouTubeライブリンクの2つのタイプ

安定したリンクを取得するには、主に2つの方法があります。

A. チャンネルの自動更新ライブURL(推奨)

すべてのチャンネルには、常に現在または今後のライブストリームを指す特別なURLがあります。

https://www.youtube.com/channel/CHANNEL_ID/live

または、次のような場合もあります。

https://www.youtube.com/c/YourCustomName/live
https://www.youtube.com/@YourHandle/live

置き換えるもの:

  • CHANNEL_ID をチャンネルIDに置き換える、または
  • YourCustomName / @YourHandle をカスタムチャンネルURL / ハンドルに置き換える。

このURLは同じままです。ライブ配信を開始するたびに(どのストリームキーを使用しても)、YouTubeはこのURLをアクティブなライブ動画にリダイレクトします。

チャンネルのライブリンクを取得する方法:

  1. YouTubeでチャンネルのホームページにアクセスします。
  2. ブラウザのURLをコピーします。通常は次のようになります。 https://www.youtube.com/@YourHandle
  3. 末尾に /live を追加します。 https://www.youtube.com/@YourHandle/live

これを単一の永続的なリンクとして使用します。


B. 再利用可能なストリームキーを使用する(エンコーダー/OBS用)

OBS、Streamlabs、ハードウェアエンコーダーなどを介してストリーミングする場合、再利用可能なストリームキーを作成することで、エンコーダーの設定を変更する必要がなくなります。

YouTubeで:

  1. YouTube Studio → https://studio.youtube.com にアクセスします。
  2. 作成 → ライブ配信を開始 をクリックします。
  3. 左側のサイドバーで、ストリームを選択します(ウェブカメラ、管理ではありません)。
  4. ストリーム設定の下で、ストリームキーを見つけます。
  5. (まだ持っていない場合は)新しいストリームキーを作成を選択し、それが「イベントごとに自動生成」ではなく、再利用可能であることを確認します。
  6. このストリームキーをOBSまたはエンコーダーに一度コピーします。

これからは:

  • 常に同じストリームキーを使用してストリーミングします。
  • YouTubeは新しいライブ動画を作成しますが、チャンネルのライブURL(例:@YourHandle/live)は常に現在ライブ中のものを指します。

2. ストリームURLが変更される理由と回避方法

デフォルトでは、すべてのライブストリームには次のような一意のURLがあります。

https://www.youtube.com/watch?v=VIDEO_ID

このVIDEO_IDは新しいストリームごとに変更されるため、次のようになります。

  • 特定の視聴URLが同じままであることに頼ることはできません。
  • しかし、チャンネルのライブURLが一定であり、視聴者を自動的にリダイレクトすることに頼ることはできます。

したがって:

  • 永続的なリンクが必要な場合は、https://www.youtube.com/watch?v=VIDEO_ID を共有しないでください。
  • https://www.youtube.com/@YourHandle/live (または /channel/CHANNEL_ID/live)を共有してください。

3. Laravelアプリに永続的なYouTubeライブプレーヤーを埋め込む

Laravelサイトで常に最新のストリームを表示するYouTubeライブプレーヤーが必要な場合は、チャンネルのライブURLを<iframe>に埋め込むことができます。

シンプルな静的Bladeの例

{{-- resources/views/live.blade.php --}}
<div class="ratio ratio-16x9">
    <iframe
        src="https://www.youtube.com/embed/live_stream?channel=YOUR_CHANNEL_ID"
        title="YouTube Live Stream"
        frameborder="0"
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
        allowfullscreen
    ></iframe>
</div>

YOUR_CHANNEL_ID を実際のチャンネルIDに置き換えてください。

この特別な埋め込みURL:

https://www.youtube.com/embed/live_stream?channel=YOUR_CHANNEL_ID
  • 常にそのチャンネルの現在のライブストリームを表示します。
  • 現在のライブストリームがない場合、最後に完了したストリームまたは「ライブではありません」というメッセージが表示されることがあります。

チャンネルIDの取得

  1. YouTube Studio にアクセスします:https://studio.youtube.com
  2. 設定 → チャンネル → 詳細設定 をクリックします。
  3. 詳細設定を表示 をクリックします。
  4. チャンネルID をコピーします。

その後、.envに保存できます。

YOUTUBE_CHANNEL_ID=UCxxxxxxxxxxxxxxxxxx

そして、Bladeビューで:

<iframe
    src="https://www.youtube.com/embed/live_stream?channel={{ config('services.youtube.channel_id') }}"
    title="YouTube Live Stream"
    frameborder="0"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
    allowfullscreen
></iframe>

そして、config/services.phpで:

'youtube' => [
    'channel_id' => env('YOUTUBE_CHANNEL_ID'),
],

4. まとめ:すべての将来のストリームに1つのURL

常に同じままのYouTubeストリーミングリンクを作成するには、次のパターンに従ってください。

  1. エンコーダー(OBSなど)用にYouTube Studioで再利用可能なストリームキーを設定します。

  2. その再利用可能なキーを使用して常にライブ配信を開始します。

  3. 視聴者に次の永続的なリンクのいずれかを配布します。

    • 視聴リンク(自動リダイレクト): https://www.youtube.com/@YourHandle/live または https://www.youtube.com/channel/CHANNEL_ID/live

    • 埋め込みリンク(ウェブサイト / Laravelアプリ用): https://www.youtube.com/embed/live_stream?channel=YOUR_CHANNEL_ID

この設定により、好きなだけ新しいストリームを開始および停止でき、視聴者(またはLaravelアプリ)は永遠に同じURLを使用します。


5. 役立つ公式リソース

これらのドキュメントでは、YouTubeライブの基本、再利用可能なキー、推奨設定について詳しく説明されています。