您绝对可以拥有一个始终保持不变的 YouTube 直播链接,即使您开始新的直播。关键概念是:

  • 使用 YouTube 的**“直播”** / “串流”设置,并配合一个可重复使用的直播密钥
  • 使用您频道的直播网址,该网址始终指向您当前或下一个的直播流
  • 可选地将该永久直播网址嵌入到您的 Laravel 应用中

下面是分步指南。


1. “永久性”YouTube 直播链接的两种类型

有两种主要方法可以获得一个稳定的链接:

A. 频道自动更新的直播网址 (推荐)

每个频道都有一个特殊的网址,该网址始终指向当前或即将进行的直播流:

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 为您的自定义频道网址 / 用户名。

此网址保持不变。每次您开始直播(使用任何直播密钥),YouTube 都会将此网址重定向到活动的直播视频。

如何获取您的频道直播链接:

  1. 前往 YouTube 上的频道主页。
  2. 复制浏览器中的网址,通常看起来像: https://www.youtube.com/@YourHandle
  3. 在末尾添加 /live: https://www.youtube.com/@YourHandle/live

将此作为您唯一、永久的链接。


B. 使用可重复使用的直播密钥 (适用于您的编码器/OBS)

如果您通过 OBS、Streamlabs、硬件编码器等进行直播,您可以创建一个可重复使用的直播密钥,这样您的编码器设置就不需要更改。

在 YouTube 上:

  1. 前往 YouTube 工作室 → https://studio.youtube.com
  2. 点击 创建 → 直播
  3. 在左侧边栏中,选择 串流 (而不是摄像头,也不是管理)。
  4. 在 串流设置 下,找到 串流密钥。
  5. 选择 创建新的串流密钥 (如果您还没有的话),并确保它是可重复使用的,而不是“为每次活动自动生成”。
  6. 将此直播密钥输入 OBS 或您的编码器一次。

从现在开始:

  • 您始终使用相同的直播密钥进行直播。
  • YouTube 会创建一个新的直播视频,但您的频道直播网址 (例如,@YourHandle/live) 将始终指向当前正在直播的内容。

2. 为什么您的直播网址会改变,以及如何避免

默认情况下,每个直播流都有一个唯一的网址,例如:

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

这个 VIDEO_ID 对于每个新流都会改变,这就是为什么:

  • 您无法依赖特定的观看网址保持不变。
  • 但您可以依赖频道直播网址保持不变并自动重定向观众。

所以:

  • 如果您想要一个永久链接,不要分享 https://www.youtube.com/watch?v=VIDEO_ID。
  • 请分享 https://www.youtube.com/@YourHandle/live (或 /channel/CHANNEL_ID/live)。

3. 在 Laravel 应用中嵌入永久性 YouTube 直播播放器

如果您想在您的 Laravel 网站上拥有一个始终显示最新直播的 YouTube 直播播放器,您可以在 <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。

这个特殊的嵌入网址:

https://www.youtube.com/embed/live_stream?channel=YOUR_CHANNEL_ID
  • 始终显示该频道的当前直播流。
  • 如果当前没有直播流,它可能会显示最后一个完成的直播或“未直播”的消息。

获取您的频道 ID

  1. 前往 YouTube 工作室: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. 总结:一个 URL 用于所有未来的直播

要创建一个始终保持不变的 YouTube 直播链接,请遵循此模式:

  1. 在 YouTube 工作室中为您的编码器 (OBS 等) 设置一个可重复使用的直播密钥。

  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 直播基础知识、可重复使用的密钥和推荐设置。