网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Youtube

2026-03-28 新闻来源:网淘吧 围观:13
电脑广告
手机广告

YouTube 研究与字幕转录

使用 YouTube Data API v3 搜索 YouTube,获取视频/频道信息,并提取字幕。

功能

  • 📹 视频详细信息(标题、描述、统计数据、发布日期)
  • 📝 带时间戳的字幕
  • 📺 频道信息与近期视频
  • 🔍 在 YouTube 内搜索
  • 🎬 播放列表信息

设置

1. 安装依赖项

MCP 服务器(主要方法):

npm install -g zubeid-youtube-mcp-server

备用工具(如果 MCP 失败):

# yt-dlp for transcript extraction
pip install yt-dlp

2. 获取 YouTube API 密钥

  1. 前往谷歌云控制台
  2. 创建/选择一个项目(例如:"YouTube Research")
  3. 启用 API:
    • 菜单 → "API 和服务" → "库"
    • 搜索:"YouTube Data API v3"
    • 点击 "启用"
  4. 创建凭据:
    • "API 和服务" → "凭据"
    • "创建凭据" → "API 密钥"
    • 复制密钥
  5. 可选 - 限制:
    • 点击已创建的密钥
    • "API 限制" → 仅选择 "YouTube Data API v3"
    • 保存

3. 配置 API 密钥

选项 A:Clawdbot 配置(推荐) 添加到~/.clawdbot/clawdbot.json

{
  "skills": {
    "entries": {
      "youtube": {
        "apiKey": "AIzaSy..."
      }
    }
  }
}

选项 B:环境变量

export YOUTUBE_API_KEY="AIzaSy..."

4. 设置 MCP 服务器

该技能将使用mcporter来调用 YouTube MCP 服务器:

# Build from source (if installed package has issues)
cd /tmp
git clone https://github.com/ZubeidHendricks/youtube-mcp-server
cd youtube-mcp-server
npm install
npm run build

用法

搜索视频

mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  search_videos query="ClawdBot AI" maxResults:5

返回视频 ID、标题、描述、频道信息。

获取频道信息

mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  channels_info channelId="UCSHZKyawb77ixDdsGog4iWA"

列出频道最新视频

mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:5

获取视频详情

mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  videos_details videoId="Z-FRe5AKmCU"

获取字幕 (主要)

mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  transcripts_getTranscript videoId="Z-FRe5AKmCU"

获取字幕(使用 yt-dlp 作为备用方案)

如果 MCP 字幕获取失败(为空或不可用),则使用yt-dlp

yt-dlp --skip-download --write-auto-sub --sub-lang en --sub-format vtt \
  --output "/tmp/%(id)s.%(ext)s" \
  "https://youtube.com/watch?v=Z-FRe5AKmCU"

然后从/tmp/目录读取.vtt文件。

或者直接获取字幕:

yt-dlp --skip-download --write-auto-sub --sub-lang en --print "%(subtitles)s" \
  "https://youtube.com/watch?v=VIDEO_ID" 2>&1 | grep -A1000 "WEBVTT"

常见工作流程

1. 从播客中查找最新一期

示例:Lex Fridman Podcast

# Get channel ID (Lex Fridman: UCSHZKyawb77ixDdsGog4iWA)
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:1

返回包含标题、ID、发布日期的最新视频。

2. 为研究获取字幕

# Step 1: Get video ID from search or channel listing
# Step 2: Try MCP transcript first
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  transcripts_getTranscript videoId="VIDEO_ID"

# Step 3: If empty, fallback to yt-dlp
yt-dlp --skip-download --write-auto-sub --sub-lang en \
  --output "/tmp/%(id)s.%(ext)s" \
  "https://youtube.com/watch?v=VIDEO_ID"

cat /tmp/VIDEO_ID.en.vtt

3. 搜索主题

mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  search_videos query="Laravel AI productivity 2025" maxResults:10

按相关频道或日期筛选结果。

频道 ID 参考

将常用频道保存在此处以便快速访问:

  • Lex Fridman Podcast: UCSHZKyawb77ixDdsGog4iWA
  • Indie Hackers:(需要时添加)
  • Laravel:(需要时添加)

查找频道ID:

  1. 前往频道页面
  2. 查看页面源代码
  3. 搜索"channelId":"externalId"

或使用搜索并从结果中提取。

API配额限制

YouTube Data API v3 有每日配额:

  • 默认:每天10,000单位
  • 搜索:每次调用100单位
  • 视频详情:每次调用1单位
  • 字幕:0单位(使用单独的机制)

提示:可自由使用字幕查找(无配额成本),搜索时需保守使用。

故障排除

MCP服务器无法工作

症状: 连接已关闭需要设置 YOUTUBE_API_KEY 环境变量

解决方法:从源代码构建:

cd /tmp
git clone https://github.com/ZubeidHendricks/youtube-mcp-server
cd youtube-mcp-server
npm install
npm run build

# Test
YOUTUBE_API_KEY="your_key" node dist/cli.js

空字幕

症状:返回了字幕但内容为空

原因:视频可能没有字幕,或者 MCP 无法访问它们

解决方法:使用 yt-dlp 备用方案(见上文)

未找到 yt-dlp

pip install --user yt-dlp
# or
pipx install yt-dlp

安全须知

YouTube API 密钥与此 MCP 服务器一起使用是安全的:

  • ✅ 密钥仅用于向官方 YouTube 数据 API 进行身份验证
  • ✅ 不涉及第三方服务器
  • ✅ 所有网络调用都指向googleapis.com
  • ✅ 代码已审核(无数据泄露)

但是:

  • 🔒 将密钥保存在 Clawdbot 配置中(不要放在代码/脚本里)
  • 🔒 将 API 密钥限制为仅用于 YouTube 数据 API v3(在 Google 云控制台中设置)
  • 🔒 不要将密钥提交到git仓库

示例

研究播客以获取LinkedIn帖子创意

# 1. Find latest Lex Fridman episode
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  channels_listVideos channelId="UCSHZKyawb77ixDdsGog4iWA" maxResults:1

# 2. Get video details
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  videos_details videoId="Z-FRe5AKmCU"

# 3. Get transcript
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  transcripts_getTranscript videoId="Z-FRe5AKmCU"

# If transcript empty, use yt-dlp
yt-dlp --skip-download --write-auto-sub --sub-lang en \
  --output "/tmp/%(id)s.%(ext)s" \
  "https://youtube.com/watch?v=Z-FRe5AKmCU"

# 4. Analyze transcript for interesting topics
# (read /tmp/Z-FRe5AKmCU.en.vtt and extract key themes)

查找关于热门话题的视频

# Search for recent videos
mcporter call --stdio "node /tmp/youtube-mcp-server/dist/cli.js" \
  search_videos query="ClawdBot security concerns" maxResults:10

# Pick relevant ones, get transcripts
# Analyze sentiment and technical claims

备注

  • MCP服务器路径:/tmp/youtube-mcp-server/dist/cli.js
  • 始终通过环境变量传递API密钥:YOUTUBE_API_KEY="密钥" node ...
  • 或在shell/Clawdbot配置中全局设置
  • 字幕可能是自动生成的(引用时请检查准确性)
  • 如果需要,yt-dlp也可以下载音频(--extract-audio --audio-format mp3
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第292126名访客 今日有282篇新文章/评论