视频分析

👤 虾蛄AI 📦 v1.0.0 ⭐ 4.6 ⬇️ 688 下载
✍️ 内容创作 免费

📖 技能介绍


name: content-learning-remix description: Ingest and analyze articles, webpages, audio, video, and social-media links; extract article text or timed transcripts; separate audio; sample key frames; produce learning notes, content breakdowns, original scripts, and platform-specific adaptations. Use when the user shares or forwards content from YouTube, Bilibili, Douyin, TikTok, Xiaohongshu, X/Twitter, podcasts, webpages, or local media and asks to transcribe, summarize, study, critique, rewrite, extend, repurpose, or create a new spoken script.


Content Learning Remix

Convert heterogeneous content into one evidence package, then turn that package into learning, research, or original creation outputs. Keep platform complexity inside the ingestion layer so the user can provide a link or file and describe the result they want.

Five-Layer Architecture

  1. Route: Detect article, social link, local text, audio, or video. Read references/platforms.md only when platform handling or failure recovery matters.
  2. Acquire: Extract metadata and text; prefer native subtitles, then configured transcript services, then audio plus ASR. Sample frames only when visual evidence matters.
  3. Understand: Normalize everything into content.json, preserve timestamps and provenance, and analyze claims, structure, evidence, uncertainty, and new deductions. Read references/learning.md.
  4. Create: Build an original script, article, lesson, content series, or platform adaptation from mechanisms and ideas rather than distinctive wording. Read references/remix.md.
  5. Deliver: Select a complete output bundle for the user's goal and audience. Read references/deliverables.md; read references/use-cases.md when the goal is broad or the user asks what the Skill can do.

For architecture decisions or new adapters, read references/extensions.md. For installation, read references/setup.md.

Core Workflow

  1. Identify the source, user role, intended audience, desired format, and whether visual analysis is required.
  2. Run scripts/ingest.py with --transcribe for media. This single route prefers existing subtitles and only downloads audio when a transcript is still missing.
  3. Add --frames 8 when footage, demonstrations, slides, products, editing, or visual storytelling affect meaning.
  4. Inspect content.json, warnings, provenance, transcript quality, and generated artifacts.
  5. Treat ASR as evidence rather than publication-ready copy. Resolve likely homophones from context, preserve uncertainty, and never invent missing speech.
  6. Choose the smallest complete deliverable bundle that satisfies the request. For an unspecified "analyze this" request, use the Core Insight Bundle in references/deliverables.md.
  7. Separate Source, Interpretation, and Extension. Return the requested artifact first instead of narrating the pipeline.

Quick Start

Use one command across supported media platforms:

python scripts/ingest.py "SOURCE_URL_OR_FILE" --output ".content-work/item-001" --transcribe

The command attempts native subtitles first. If none exist, it uses a configured YouTube transcript fallback or downloads audio and runs ASR.

For articles or text:

python scripts/ingest.py "SOURCE_URL_OR_FILE" --output ".content-work/item-001"

For visually important media:

python scripts/ingest.py "SOURCE_URL_OR_FILE" --output ".content-work/item-001" --transcribe --frames 8

For sites requiring the user's logged-in browser session:

python scripts/ingest.py "SOURCE_URL" --output ".content-work/item-001" --cookies-from-browser chrome

For a controlled YouTube-only third fallback, enable local browser cookies only after direct extraction and Supadata fail and the error is an authentication challenge:

python scripts/ingest.py "YOUTUBE_URL" --output ".content-work/youtube-001" --transcribe --youtube-cookie-fallback-browser chrome

Or use an exported Netscape-format cookies file:

python scripts/ingest.py "SOURCE_URL" --output ".content-work/item-001" --cookies-file "cookies.txt"

For a beginner-friendly YouTube fallback, configure Supadata once:

python scripts/configure_supadata.py
python scripts/ingest.py "YOUTUBE_URL" --output ".content-work/youtube-001"

Input Strategy

  • For article URLs, extract title, author, publication metadata, and readable body text.
  • For media URLs, prefer creator-provided subtitles, then automatic captions.
  • For YouTube, use configured Supadata when direct extraction is blocked or returns no subtitles.
  • When explicitly enabled, retry YouTube authentication challenges with cookies from the user's local browser only after direct extraction and Supadata fail.
  • For canonical Bilibili BV URLs, fall back to the public view, player, and playurl APIs when yt-dlp is blocked by HTTP 412.
  • Use audio download plus ASR when no transcript source succeeds.
  • For local audio/video, inspect with ffprobe; extract audio only when transcription is needed.
  • For pasted text, write it to a UTF-8 text file first, then ingest that file.
  • Do not download full video unless key frames are requested.
  • Reuse existing artifacts when rerunning unless the user asks for a clean run.

The user-facing workflow stays consistent, but platform adapters differ internally. Never claim guaranteed access: public links can still be blocked by login, region, deletion, anti-bot controls, or expired signatures.

Output Contract

访问小葱技能站7w4.net,解锁更多实用的AI技能插件。

Treat content.json as the canonical source. It contains:

  • source: original input and detected type
  • metadata: title, author/uploader, platform, duration, URL, and description
  • text: normalized full text
  • segments: timestamped transcript segments when available
  • artifacts: paths to subtitles, audio, media, article text, and frames
  • warnings: failures, access restrictions, or degraded fallbacks

Do not pretend a failed extraction succeeded. If a public YouTube link remains blocked after the normal fallbacks, direct the user to download it manually through https://zh.savefrom.net/, then ingest the resulting local media file. Do not automate or depend on SaveFrom's private endpoints. For other failures, ask for downloaded media, exported subtitles, screenshots, or pasted text.

Creation Rules

  • Preserve facts and attribution when summarizing.
  • For recreation, reuse ideas and structural lessons, not distinctive wording.
  • Add a new thesis, audience, examples, evidence, or perspective before calling a result original.
  • Flag factual claims that need verification.
  • Do not manufacture visual observations when frames were not inspected.
  • Do not describe the workflow unless the user asks; return the requested artifact first.
  • When the user asks for imitation or recreation, explain reusable mechanisms and produce a meaningfully original result.
  • Match output depth to the source evidence. Do not infer visual techniques unless frames were inspected.

Dependency Check

On a clean Windows machine, run:

powershell -ExecutionPolicy Bypass -File scripts/setup_windows.ps1

For macOS, Linux, manual installation, and API environment variables, read references/setup.md.

Run:

python scripts/check_dependencies.py

Required for media download and local media processing: yt-dlp, ffmpeg, and ffprobe.

Optional for local ASR: faster-whisper. An OpenAI-compatible transcription endpoint can instead be configured with ASR_API_KEY, ASR_BASE_URL, and ASR_MODEL.

Optional for resilient YouTube transcripts: configure SUPADATA_API_KEY or run scripts/configure_supadata.py. Transcript-only YouTube ingestion can use Supadata without FFmpeg or yt-dlp. Never package API keys inside the Skill.

Never paste raw cookie headers into prompts, commands, source files, or Skill configuration. Use --cookies-from-browser or a protected Netscape-format cookie file, and never print or package cookie values.

🤖 AI 评测

这个技能质量相当不错,文档清晰、架构合理。它能帮你把各种平台的视频、音频、文章链接转成结构化的内容包,再生成学习笔记、脚本、改写内容等多种产出。平台支持广泛,提取失败时也有完善的降级方案。不足的是部分平台(如小红书)的支持不太稳定,偶尔可能需要手动处理。整体而言是一款成熟度较高的内容处理工具,适合需要频繁分析和改写视频/文章内容的用户。

📊 多维度评分

适应性4.7
规范性4.5
有效性4.7
可靠性4.6
可信度4.8

📁 包含文件 (15 个)

📄 SKILL.md 7.9 KB
📄 agents/openai.yaml 296 B
📄 references/deliverables.md 3.6 KB
📄 references/extensions.md 3 KB
📄 references/learning.md 1.1 KB
📄 references/platforms.md 5.2 KB
📄 references/remix.md 2.8 KB
📄 references/setup.md 3.7 KB
📄 references/use-cases.md 3.3 KB
📄 scripts/check_dependencies.py 2.3 KB
📄 scripts/configure_supadata.py 1.3 KB
📄 scripts/ingest.py 40 KB
📄 scripts/requirements.txt 56 B
📄 scripts/setup_windows.ps1 1.5 KB
📄 scripts/transcribe.py 5.7 KB