跳过内容

零门槛 YouTube 矩阵自动化发布系统:GitHub Actions + Cloudflare R2 极速工作流

KJKuang科技狂
Published date:
3 min read
文章大纲目录 (Table of Contents)

对于面向海外平台的视频创作者或自媒体运营者而言,向 YouTube 上传视频 往往是日常工作流中最耗时、最痛苦的环节之一。

尤其是国内网络环境下,动辄几 GB 的 4K / 1080p 高码率视频,通过常规代理隧道上传常常面临:

为了彻底解决这一痛点,我开发并开源了这套 零门槛 YouTube 矩阵自动化中继发布系统: 利用 Cloudflare R2 的全球边缘存储(国内直连上传极速拉满)结合 GitHub Actions 的免费云端算力(万兆级海外机房骨干网直连 YouTube API),实现免翻墙极速上传、多频道矩阵一键分发的极致工作流!

🔗 项目开源仓库:KJKuangYoutube/R2-YT-Relay (GitHub)


一、 系统架构与工作流原理

整套系统的设计理念是**“化整为零,云端中继”**:

01
本地视频直传 Cloudflare R2 存储桶

本地视频渲染完成后,无需挂代理,直接通过网页或客户端上传到 Cloudflare R2。跑满你的本地上行宽带,毫秒级响应不卡顿。

02
GitHub Actions 云端流水线接管中继

在 GitHub 网页上一键触发 Workflow,输入文件名。GitHub 微软海外云端容器(万兆带宽)自动拉取 R2 视频,全程仅需数秒。

03
通过 YouTube Data API v3 自动发布上线

Actions 自动调用官方 YouTube API,上传视频、填入标题描述,并可根据配置同时同步至多个矩阵频道。


二、 准备工作:获取 YouTube API 凭据

调用官方接口需要申请开发凭据。你可以根据自身习惯在以下两种方式中二选一:

方案 A:通过 Google OAuth Playground 在线获取(无需代码)

  1. 访问 Google Cloud Console 控制台 创建一个新项目,在 API 库中搜索并启用 YouTube Data API v3;
  2. 导航至 凭据 (Credentials) ➔ 创建凭据 ➔ 选择 OAuth 客户端 ID(应用类型选择 Web 应用);
  3. 在“已获授权的重定向 URI”中填入:https://developers.google.com/oauthplayground;
  4. 访问 Google OAuth Playground 调试平台:
    • 点击右上角齿轮设置图标,勾选 “Use your own OAuth credentials”,填入刚刚申请的 Client ID 和 Client Secret;
    • 在左侧 API 列表中找到并展开 YouTube Data API v3,选中 https://www.googleapis.com/auth/youtube.upload 权限范围;
    • 点击 Authorize APIs 登录你的 YouTube 频道账号完成授权,在 Step 2 中点击 Exchange authorization code for tokens,即可复制出关键的 Refresh Token。

方案 B:本地运行 Python 脚本获取(适合开发者)

  1. 在 Google Cloud Console 创建 OAuth 客户端 ID 时,应用类型选择 桌面应用 (Desktop App);
  2. 点击下载生成的 JSON 凭据文件,保存到本地并重命名为 client_secrets.json;
  3. 从项目仓库中下载 get_token.py,确保两个文件放在同一目录下;
  4. 在终端中运行:
    python3 get_token.py
  5. 浏览器将自动弹窗提示授权登录,点击高级并确认授权,终端中就会直接输出提取好的 Refresh Token。

三、 配置 GitHub 自动化流水线

  1. 访问项目仓库并点击 Fork 到你的个人 GitHub 账号:
    👉 https://github.com/KJKuangYoutube/R2-YT-Relay
  2. 进入你 Fork 后的个人仓库,导航至 Settings ➔ Secrets and variables ➔ Actions;
  3. 点击 New repository secret,依次添加以下三项加密环境变量:
    • YOUTUBE_CLIENT_ID:你的 Google 客户端 ID
    • YOUTUBE_CLIENT_SECRET:你的客户端密钥
    • YOUTUBE_REFRESH_TOKEN:刚刚获取到的刷新令牌

多频道矩阵支持:如果你有多个 YouTube 频道需要同步分发,只需在 Secrets 中追加例如 YOUTUBE_REFRESH_TOKEN_B、YOUTUBE_REFRESH_TOKEN_C 等变量,即可实现单视频一键批量推送!


四、 开启 Cloudflare R2 免费边缘存储

  1. 注册并登录 Cloudflare 控制台,在左侧导航栏找到 R2 对象存储;
  2. 点击 创建存储桶 (Create Bucket),起一个自定义名称(例如 yt-videos);
  3. 进入该存储桶的 设置 (Settings) 页面,找到 公开访问 (Public Access),点击开启;
  4. 复制生成的 R2 公开访问域名(格式类似 pub-xxxxxxxx.r2.dev);
  5. 回到你的 GitHub 仓库,在 .github/workflows/main.yml 中,将下载地址的域名前缀替换为你自己的 R2 域名。

五、 每日发片极速实战(仅需 1 分钟)

配置完成后,今后发布任何新视频的日常流程将变得极其轻松惬意:

  1. 📤 极速上传:在电脑浏览器中打开 Cloudflare R2 存储桶界面,直接把渲染好的视频(例如 demo_video.mp4)拖拽上传(国内上传速度飞快);
  2. 🚀 触发工作流:打开 GitHub 个人仓库的 Actions 标签页,点击左侧的 🚀 一键发布 YouTube;
  3. ⌨️ 填写参数:点击右侧的 Run workflow 按钮,在弹出的输入框中填入视频文件名(如 demo_video.mp4)以及标题描述;
  4. ☕ 自动发布:点击执行后,GitHub 云端容器会在 1~2 分钟内自动完成视频拉取、格式校验与 YouTube 官方 API 发布。关掉网页去喝杯咖啡,视频已成功上线!

六、 方案核心优势对比

维度传统本地手工上传R2 + GitHub Actions 自动化中继
网络要求强依赖本地代理节点,且要求大带宽与高稳定性本地无需翻墙,直接直连上传 Cloudflare 边缘节点
上传速度受到代理服务器中转限速,大文件极慢本地上行跑满 + GitHub 海外机房万兆管道直传
断连风险容易上传到 90% 突发中断,前功尽弃R2 支持断点直传;GitHub 到 YouTube 为内网级高速骨干,0 失败率
矩阵扩展手动切换多个账号繁琐低效,易触发设备风控一行命令多频道同时并行发布,矩阵管理轻松自如
经济成本需购买昂贵的大流量高速节点100% 免费(R2 每月 10GB 免费存储 + Actions 免费算力)

⚠️ 安全操作准则

  1. 凭据安全隔离:Refresh Token 和 Client Secret 拥有频道的发布管理权限,严禁将其直接提交到任何公开的代码文件中,必须严格通过 GitHub Secrets 加密存储;
  2. 公开访问桶清理:视频成功发布到 YouTube 后,建议定期在 R2 后台删除已发布的旧视频文件,以节约存储空间并保证资源干净整洁;
  3. API 配额管理:Google 对 YouTube Data API 默认提供每日 10,000 点免费配额(单次视频上传约消耗 1,600 点),普通创作者每日上传 5~6 部视频完全在免费配额内。

通过本套自动化系统,你不仅能够彻底甩掉网络卡顿的包袱,更能将宝贵的时间精力重新聚焦到内容创作与选题打磨本身!

Previous
Google Antigravity 与 Gemini CLI:全平台安装部署与免费反向代理搭建终极指南
Next
2026 全球主流免费 Serverless/PaaS 平台横评与避坑:Vercel、Cloudflare、HuggingFace 与 GitHub 的正确打开方式

目录大纲 (TOC)

9 节