新しいストリームを開始しても、常に同じままの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をアクティブなライブ動画にリダイレクトします。
チャンネルのライブリンクを取得する方法:
- YouTubeでチャンネルのホームページにアクセスします。
- ブラウザのURLをコピーします。通常は次のようになります。
https://www.youtube.com/@YourHandle - 末尾に
/liveを追加します。https://www.youtube.com/@YourHandle/live
これを単一の永続的なリンクとして使用します。
B. 再利用可能なストリームキーを使用する(エンコーダー/OBS用)
OBS、Streamlabs、ハードウェアエンコーダーなどを介してストリーミングする場合、再利用可能なストリームキーを作成することで、エンコーダーの設定を変更する必要がなくなります。
YouTubeで:
- YouTube Studio → https://studio.youtube.com にアクセスします。
- 作成 → ライブ配信を開始 をクリックします。
- 左側のサイドバーで、ストリームを選択します(ウェブカメラ、管理ではありません)。
- ストリーム設定の下で、ストリームキーを見つけます。
- (まだ持っていない場合は)新しいストリームキーを作成を選択し、それが「イベントごとに自動生成」ではなく、再利用可能であることを確認します。
- このストリームキーを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の取得
- YouTube Studio にアクセスします:https://studio.youtube.com
- 設定 → チャンネル → 詳細設定 をクリックします。
- 詳細設定を表示 をクリックします。
- チャンネル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ストリーミングリンクを作成するには、次のパターンに従ってください。
-
エンコーダー(OBSなど)用にYouTube Studioで再利用可能なストリームキーを設定します。
-
その再利用可能なキーを使用して常にライブ配信を開始します。
-
視聴者に次の永続的なリンクのいずれかを配布します。
-
視聴リンク(自動リダイレクト):
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ヘルプ:ライブストリーミングを開始する https://support.google.com/youtube/answer/2474026
-
YouTubeヘルプ:ライブストリームの設定、機能、ヒント https://support.google.com/youtube/answer/2853700
これらのドキュメントでは、YouTubeライブの基本、再利用可能なキー、推奨設定について詳しく説明されています。