YouTube
Macro Deck 自带显示 YouTube 直播聊天和直播统计,更改标题和标签,并对 Super Chat 和会员做出响应。
一个 YouTube 聊天组件和 YouTube 直播统计组件
- YouTube 聊天和 YouTube 直播统计组件
- 设置直播标题、说明和标签
- 开始直播、结束直播和插播广告
- Super Chat、Super Sticker 和会员的触发器
- 使用你自己的 Google Cloud 项目和配额
YouTube 集成将你的 YouTube 频道连接到 Macro Deck。它以变量的形式显示直播状态,在收到 Super Chat、Super Sticker 和会员时触发触发器,在组件中显示直播聊天并可在其中进行管理,还可以通过按键更改直播。
YouTube 不提供可供 Macro Deck 为所有人使用的共享登录方式。需要通过你自己的 Google Cloud 项目进行连接,只需一次性花费大约十分钟。该项目是免费的,其配额和权限都只属于你。
可以做什么
- 向当前直播的直播聊天发送聊天消息。
- 更改正在进行的直播的标题、说明或标签;未在直播时,则更改下一场计划直播的这些信息。
- 使用 开始直播 开始下一场计划直播,使用 结束直播 结束直播,并请求 YouTube 插播广告。
- 在 YouTube 聊天 组件中显示直播聊天,并在其中删除消息、禁言或封禁聊天用户。
- 在 YouTube 直播统计 组件中显示是否正在直播、观众、点赞和订阅者、标题以及已直播时长。
一些示例设置:
- 一个 即将开播 按键,设置下一场直播的标题和标签。
- 一个 插播广告 按键,请求 YouTube 插播 60 秒的广告。
- 一个在收到 Super Chat 时运行的流程,显示包含发送者和金额的通知。
- 一个在出现 新会员 时运行的流程,在聊天中发布感谢消息。
运行方式
直播期间,Macro Deck 大约每分钟读取一次直播状态,每隔几秒读取一次聊天。每次读取和每次更改都会消耗 Google Cloud 项目的配额,每天有 10,000 个单位。Macro Deck 会进行计数。配额即将用完时,它会暂停聊天更新,并降低读取直播状态的频率。配额用完后,它会暂停直播状态和聊天的更新,直到太平洋时间午夜 Google 重置配额为止。
聊天、Super Chat 和会员事件只在直播进行时才会到达。Macro Deck 未运行期间发生的事件不会在之后补发。可以连接多个频道:每个动作都有一个 频道 字段,每个触发器都可以限定为某个频道。
准备工作
- Windows、macOS 或 Linux 上可访问互联网的 Macro Deck 3
- 一个可以进行直播的 YouTube 频道
- 已启用 YouTube Data API v3 的 Google Cloud 项目
- 类型为 TVs and Limited Input devices 的 OAuth 客户端 ID,以及其客户端密钥
- “开始插播广告”需要在可以显示中插广告的频道上进行直播
设置步骤
第 1 步: 创建 Google Cloud 项目
用拥有该频道的 Google 账号打开 Google Cloud console 并创建一个项目,例如 Macro Deck。在 APIs & Services > Library 下搜索 YouTube Data API v3,然后点击 Enable。
第 2 步: 设置同意屏幕
打开 APIs & Services > OAuth consent screen(在较新的控制台中为 Google Auth Platform)。选择 External,输入应用名称和电子邮件地址,然后保存。在 Audience(或 Test users)下,将拥有该频道的 Google 账号添加为测试用户。
第 3 步: 创建 OAuth 客户端 ID
打开 APIs & Services > Credentials,点击 Create credentials > OAuth client ID,并选择应用类型 TVs and Limited Input devices。其他任何类型在登录时都会被拒绝。复制 Google 显示的 Client ID 和 Client secret。
第 4 步: 在 Macro Deck 中输入客户端
在 Macro Deck 中,点击侧边栏中的 集成,然后点击 YouTube。在 概览 选项卡的 配置 部分中点击 添加配置。打开右上角的开关也会打开同一个对话框,完成设置后集成即会启用。在 连接 YouTube 频道 对话框中粘贴 客户端 ID 和 客户端密钥。只有在 Google 为你的项目授予了更多配额时,才需要开启 高级配置 并将其填为 每日配额(单位)。点击 继续。
第 5 步: 在 Google 上批准访问
对话框随后会显示 在 Google 上批准访问 以及一个 设备代码。点击 打开 Google 并批准,用拥有该频道的账号登录,输入代码,选择你的频道并允许访问。Google 会警告该应用未经验证:这是你自己的项目,因此请继续。回到 Macro Deck 并点击 继续。配置会以你的频道命名,例如 YouTube (My Channel)。对话框显示 设置完成。 后,点击 完成。
第 6 步: 为按键添加 YouTube 动作
在 面板 页面上,点击要使用的按键。面板必须处于解锁状态:右上角的按钮显示为 锁定 时,面板即为解锁状态。编辑器打开时已选中 短按。点击 + 添加动作,在 添加动作 对话框左侧选择 YouTube,然后选择一个动作,例如 设置直播标题。选择 频道,输入 标题,然后点击 保存。
动作7
可以放在按键上,也可以在流程中运行。
- 发送聊天消息
- 在当前直播的直播聊天中发布一条最多 200 个字符的消息。
- 设置直播标题
- 更改当前直播的标题;未在直播时,则更改下一场计划直播的标题。
- 设置直播说明
- 更改当前直播或下一场计划直播的说明。
- 设置直播标签
- 替换当前直播或下一场计划直播的标签。
- 开始插播广告
- 请求 YouTube 在直播期间插播一段 30 秒到 3 分钟的广告。
- 开始直播
- 开始下一场已准备就绪的计划直播。请先启动推流软件。
- 结束直播
- 结束当前的直播。
触发器8
按键或流程可以对这些事件做出响应。
- 直播已上线
- 频道开始直播。
- 直播已下线
- 频道的直播已结束。
- Super Chat
- 有人发送了 Super Chat,附带发送者、金额、货币和评论。
- Super Sticker
- 有人发送了 Super Sticker。
- 新会员
- 有人成为了频道会员或升级了会员等级。
- 会员里程碑
- 某位会员在聊天中分享了会员里程碑。
- 赠送的会员
- 有人向其他观众赠送了会员资格。
- YouTube 事件(高级)
- 将此列表中的所有 YouTube 事件合并为一个触发器,可按类型筛选。
变量8
在按键和组件上显示这些值,或在条件中使用它们。
youtube_<channel>_display_name- 频道的名称。
youtube_<channel>_is_live- 频道是否正在直播。
youtube_<channel>_stream_title- 当前直播的标题。
youtube_<channel>_viewer_count- 当前观众数。隐藏观众数时为空。
youtube_<channel>_like_count- 当前直播的点赞数。
youtube_<channel>_subscriber_count- YouTube 四舍五入后的频道订阅者数。
youtube_<channel>_uptime_seconds- 直播已进行的秒数。
youtube_<channel>_stream_thumbnail_url- 直播的缩略图。
组件2
从组件选择器中将它们添加到面板。
- YouTube 聊天
- 显示当前直播的直播聊天,包括 Super Chat 和新会员。按下它可以在更大的对话框中进行管理。
- YouTube 直播统计
- 以所选样式显示直播状态、观众、点赞和订阅者、标题以及已直播时长。
常见问题解答
为什么需要自己的 Google Cloud 项目?
YouTube 不提供可供 Macro Deck 为所有人使用的共享登录方式。使用自己的项目,配额和权限都只属于你。该项目是免费的。
为什么每周都要重新登录?
当项目的同意屏幕处于测试阶段时,Google 会在 7 天后结束登录。此时 集成 会显示登录已过期;请使用同一个客户端 ID 和客户端密钥重新连接。如需保持登录状态,请在 Google Cloud console 中发布同意屏幕。
配额用完后会怎样?
Macro Deck 会暂停直播状态和聊天的更新,集成 下的 YouTube 页面会显示 YouTube 配额已用完。Google 会在太平洋时间午夜重置配额,届时更新会恢复。在 Google 拒绝之前,动作会继续正常工作。
“开始直播”为什么没有开始我的直播?
开始直播 会开始下一场推流已到达 YouTube 的计划直播,因此请先启动推流软件。自动开始的直播以及 YouTube Studio 中的 Stream now 由 YouTube 启动,而不是由此动作启动。
可以在聊天组件中解封某人吗?
只能解除在当前直播期间通过 Macro Deck 执行的封禁,并且仅限 Macro Deck 重新启动之前。YouTube 不会告诉 Macro Deck 存在哪些封禁,因此其他封禁请在 YouTube Studio 中解除。
我的凭据存储在哪里?
客户端密钥和令牌加密存储在运行 Macro Deck 的电脑上,只会发送给 Google。
“直播”分类中的更多集成
OBS Studio
Macro Deck 自带切换场景,控制推流、录制和音频,并对 OBS Studio 中发生的事情做出响应。
Meld Studio
Macro Deck 自带在 Meld Studio 中切换和暂存场景,控制图层、效果和音轨,并开始直播。
Streamlabs Desktop
Macro Deck 自带在 Streamlabs Desktop 中切换场景,控制推流、录制和音频来源。
Streamer.bot
Macro Deck 自带运行 Streamer.bot 动作、发送聊天消息,并对 Streamer.bot 报告的每个事件做出响应。
Twitch
Macro Deck 自带显示 Twitch 聊天和直播数据,进行管理、发起投票和播放广告,并对关注、订阅和突袭做出响应。