youtube-tools by casper-studios/casper-marketplace
npx skills add https://github.com/casper-studios/casper-marketplace --skill youtube-tools使用 yt-dlp 进行免费的本地 YouTube 操作。无需 API 密钥,无单视频成本。安装后可在离线状态下工作。
┌─────────────────────────────────────────────────────────────────┐
│ 决策:YouTube 工具 (yt-dlp) 与 Apify │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 在以下情况下使用 youtube-tools (免费): │
│ ├── 将视频下载到本地存储 │
│ ├── 提取字幕/转录稿 │
│ ├── 获取视频元数据(标题、时长、观看次数等) │
│ ├── 批量下载播放列表或频道内容 │
│ ├── 转换为纯音频格式 (MP3) │
│ └── 您希望实现零 API 成本 │
│ │
│ 在以下情况下使用 apify-scrapers: │
│ ├── 抓取 YouTube 搜索结果 │
│ ├── 大规模获取评论 │
│ ├── 频道分析和统计数据 │
│ ├── 发现热门视频 │
│ └── 您需要基于云的处理 │
│ │
└─────────────────────────────────────────────────────────────────┘
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
您需要什么?
│
├── 下载视频
│ ├── 单个视频 → scripts/download_video.py URL
│ ├── 多个视频 → scripts/download_video.py --urls-file list.txt
│ ├── 播放列表 → scripts/download_video.py "playlist_url"
│ ├── 仅音频 → scripts/download_video.py URL --audio-only
│ └── 特定画质 → scripts/download_video.py URL --quality 720p
│
├── 获取字幕/转录稿
│ ├── 自动生成的字幕 → scripts/get_transcript.py URL
│ ├── 手动添加的字幕 → scripts/get_transcript.py URL --manual-only
│ ├── 特定语言 → scripts/get_transcript.py URL --lang es
│ └── 所有可用语言 → scripts/get_transcript.py URL --all-langs
│
├── 获取视频元数据
│ ├── 单个视频 → scripts/get_video_info.py URL
│ ├── 多个视频 → scripts/get_video_info.py --urls-file list.txt
│ └── 播放列表信息 → scripts/get_video_info.py "playlist_url"
│
└── 高级功能
├── 年龄限制内容 → scripts/download_video.py URL --cookies-from-browser chrome
├── 私享视频 → 需要身份验证 (参见 references/yt-dlp-guide.md)
└── 直播流 → scripts/download_video.py URL --live-from-start
# 安装 yt-dlp (必需)
pip install yt-dlp
# 可选:安装 ffmpeg 用于格式转换
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows
winget install ffmpeg
无需 API 密钥! 此工具完全免费。
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
python scripts/download_video.py "https://youtu.be/VIDEO_ID" --quality 1080p
python scripts/download_video.py "https://youtube.com/watch?v=VIDEO_ID" --audio-only
python scripts/download_video.py "https://youtube.com/playlist?list=PLAYLIST_ID" --output-dir ./videos
# 创建 urls.txt,每行一个 URL
python scripts/download_video.py --urls-file urls.txt --output-dir ./downloads
python scripts/get_transcript.py "https://youtube.com/watch?v=VIDEO_ID"
python scripts/get_transcript.py "https://youtu.be/VIDEO_ID" --lang es
python scripts/get_video_info.py "https://youtube.com/watch?v=VIDEO_ID"
python scripts/get_video_info.py --urls-file videos.txt --output metadata.json
默认情况下,所有输出保存到 .tmp/youtube/:
.tmp/youtube/videos/.tmp/youtube/audio/.tmp/youtube/transcripts/.tmp/youtube/metadata/免费 - 无需 API 密钥,无单视频成本,无订阅费用。
.tmp/ 目录--sleep-interval 5 以避免节流原因: 视频为私享、年龄限制或区域锁定 解决方案: 对于年龄限制内容,使用 --cookies-from-browser chrome
原因: YouTube 更改了其页面结构 解决方案: 更新 yt-dlp:pip install -U yt-dlp
原因: 视频没有字幕(自动或手动) 解决方案: 先使用 --list-subs 查看可用的字幕
原因: YouTube 节流或网络问题 解决方案: 尝试使用 --concurrent-fragments 4 以加快下载速度
原因: 未安装 ffmpeg 解决方案: 安装 ffmpeg (参见环境设置)
# 1. 下载视频
python scripts/download_video.py "URL" --output-dir .tmp/video
# 2. 获取字幕
python scripts/get_transcript.py "URL" --output .tmp/transcript.txt
# 3. 使用内容生成工具进行总结
# (字幕文件现已准备好用于总结)
# 1. 获取研究视频的元数据
python scripts/get_video_info.py --urls-file research_videos.txt --output .tmp/metadata.json
# 2. 下载字幕用于文本分析
python scripts/get_transcript.py --urls-file research_videos.txt --output-dir .tmp/transcripts
# 3. 使用并行研究工具分析内容
# 将整个播放列表作为课程模块下载
python scripts/download_video.py "PLAYLIST_URL" --output-dir .tmp/course --quality 720p
# 获取所有字幕用于笔记
python scripts/get_transcript.py "PLAYLIST_URL" --output-dir .tmp/course/transcripts
每周安装量
108
代码仓库
GitHub 星标数
9
首次出现
2026年2月24日
安全审计
安装于
opencode108
github-copilot108
codex108
kimi-cli108
gemini-cli108
amp108
Free, local YouTube operations using yt-dlp. No API keys required, no per-video costs. Works offline after installation.
┌─────────────────────────────────────────────────────────────────┐
│ DECISION: YouTube Tools (yt-dlp) vs Apify │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Use youtube-tools (FREE) when: │
│ ├── Downloading videos to local storage │
│ ├── Extracting transcripts/subtitles │
│ ├── Getting video metadata (title, duration, views, etc.) │
│ ├── Bulk downloading playlists or channels │
│ ├── Converting to audio-only (MP3) │
│ └── You want zero API costs │
│ │
│ Use apify-scrapers when: │
│ ├── Scraping YouTube SEARCH results │
│ ├── Getting comments at scale │
│ ├── Channel analytics and statistics │
│ ├── Trending video discovery │
│ └── You need cloud-based processing │
│ │
└─────────────────────────────────────────────────────────────────┘
What do you need?
│
├── Download video(s)
│ ├── Single video → scripts/download_video.py URL
│ ├── Multiple videos → scripts/download_video.py --urls-file list.txt
│ ├── Playlist → scripts/download_video.py "playlist_url"
│ ├── Audio only → scripts/download_video.py URL --audio-only
│ └── Specific quality → scripts/download_video.py URL --quality 720p
│
├── Get transcript/subtitles
│ ├── Auto-generated captions → scripts/get_transcript.py URL
│ ├── Manual subtitles → scripts/get_transcript.py URL --manual-only
│ ├── Specific language → scripts/get_transcript.py URL --lang es
│ └── All available → scripts/get_transcript.py URL --all-langs
│
├── Get video metadata
│ ├── Single video → scripts/get_video_info.py URL
│ ├── Multiple videos → scripts/get_video_info.py --urls-file list.txt
│ └── Playlist info → scripts/get_video_info.py "playlist_url"
│
└── Advanced
├── Age-restricted → scripts/download_video.py URL --cookies-from-browser chrome
├── Private videos → Requires authentication (see references/yt-dlp-guide.md)
└── Live streams → scripts/download_video.py URL --live-from-start
# Install yt-dlp (required)
pip install yt-dlp
# Optional: Install ffmpeg for format conversion
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Windows
winget install ffmpeg
No API keys required! This is completely free.
python scripts/download_video.py "https://www.youtube.com/watch?v=VIDEO_ID"
python scripts/download_video.py "https://youtu.be/VIDEO_ID" --quality 1080p
python scripts/download_video.py "https://youtube.com/watch?v=VIDEO_ID" --audio-only
python scripts/download_video.py "https://youtube.com/playlist?list=PLAYLIST_ID" --output-dir ./videos
# Create urls.txt with one URL per line
python scripts/download_video.py --urls-file urls.txt --output-dir ./downloads
python scripts/get_transcript.py "https://youtube.com/watch?v=VIDEO_ID"
python scripts/get_transcript.py "https://youtu.be/VIDEO_ID" --lang es
python scripts/get_video_info.py "https://youtube.com/watch?v=VIDEO_ID"
python scripts/get_video_info.py --urls-file videos.txt --output metadata.json
All outputs save to .tmp/youtube/ by default:
.tmp/youtube/videos/.tmp/youtube/audio/.tmp/youtube/transcripts/.tmp/youtube/metadata/FREE - No API keys, no per-video costs, no subscriptions.
.tmp/ directory--sleep-interval 5 to avoid throttlingCause: Video is private, age-restricted, or region-locked Solution: Use --cookies-from-browser chrome for age-restricted content
Cause: YouTube changed their page structure Solution: Update yt-dlp: pip install -U yt-dlp
Cause: Video has no captions (auto or manual) Solution: Use --list-subs to see available subtitles first
Cause: YouTube throttling or network issues Solution: Try --concurrent-fragments 4 for faster downloads
Cause: ffmpeg not installed Solution: Install ffmpeg (see Environment Setup)
# 1. Download video
python scripts/download_video.py "URL" --output-dir .tmp/video
# 2. Get transcript
python scripts/get_transcript.py "URL" --output .tmp/transcript.txt
# 3. Use content-generation to summarize
# (transcript file is now ready for summarization)
# 1. Get metadata for research videos
python scripts/get_video_info.py --urls-file research_videos.txt --output .tmp/metadata.json
# 2. Download transcripts for text analysis
python scripts/get_transcript.py --urls-file research_videos.txt --output-dir .tmp/transcripts
# 3. Use parallel-research to analyze content
# Download entire playlist as course modules
python scripts/download_video.py "PLAYLIST_URL" --output-dir .tmp/course --quality 720p
# Get all transcripts for notes
python scripts/get_transcript.py "PLAYLIST_URL" --output-dir .tmp/course/transcripts
Weekly Installs
108
Repository
GitHub Stars
9
First Seen
Feb 24, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykWarn
Installed on
opencode108
github-copilot108
codex108
kimi-cli108
gemini-cli108
amp108
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
36,300 周安装