Token导航 LogoToken导航TokenDH.com
待分类敏感数据github未标认证来源可访问许可证需确认审计异常

video-clip-extractor视频剪辑提取器

Agent Skill

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

总安装

744

周安装

31

GitHub Stars

201

下载量

248
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:video-clip-extractor(视频剪辑提取器)
来源仓库:https://github.com/linzzzzzz/openclip
仓库路径:skills/video-clip-extractor
安装命令:
npx skills add https://github.com/linzzzzzz/openclip --skill video-clip-extractor
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/linzzzzzz/openclip --skill video-clip-extractor

简介

video-clip-extractor 用于辅助视频生成和动画合成开发。

  • 适合让 Agent 组织镜头、生成素材说明或维护合成代码。
  • 使用时需确认分辨率、时长、素材路径和导出格式。
  • 涉及外部素材或商业发布时,应核对版权授权和内容审核要求。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Video Clip Extractor Skill

Run the video orchestrator to process videos and extract engaging highlights.

When Triggered

  1. Get the source — if the user didn't provide a video URL or file path, ask for it.
  2. Clarify intent (optional) — if the user wants clips focused on a specific topic, capture it for --user-intent. If unclear, ask: "Any specific topic or moments to focus on? (e.g. 'funny moments', 'key arguments')"
  3. Check environment — does video_orchestrator.py exist in the current directory? If yes, run directly. Otherwise use the global install at ~/.local/share/openclip.
  4. Verify prerequisites — check ffmpeg is installed and at least one API key is set. Warn if missing before running.
  5. Run the command and stream output to user.
  6. Report results — after completion, list the generated clips with timestamps and titles.

Setup (first use only)

Before running, determine the execution context:

  1. Inside openclip repo — if video_orchestrator.py exists in the current directory, skip setup and run directly.
  2. Global install — if ~/.local/share/openclip does not exist, run these steps:

Prerequisites: git and uv must be installed.

  • Install uv if missing: macOS: brew install uv · Linux/Windows: pip install uv
git clone https://github.com/linzzzzzz/openclip.git ~/.local/share/openclip
cd ~/.local/share/openclip && uv sync

To update openclip later:

git -C ~/.local/share/openclip pull && cd ~/.local/share/openclip && uv sync

Execution

If inside the openclip repo (current directory contains video_orchestrator.py):

uv run python video_orchestrator.py [options] <source>

If running globally (from any other directory):

cd ~/.local/share/openclip && uv run python video_orchestrator.py -o "$OLDPWD/processed_videos" [options] <source>

$OLDPWD captures the user's original directory so clips are saved there, not inside the openclip install.

Where <source> is a video URL (Bilibili/YouTube) or local file path (MP4, WebM, AVI, MOV, MKV).

For local files with existing subtitles, place the .srt file in the same directory with the same filename (e.g. video.mp4video.srt).

Preflight Checklist

  • Inside openclip repo: run from the repo root so relative paths (e.g. references/, prompts/) resolve correctly
  • ffmpeg must be installed (required for all clip generation):

- macOS: brew install ffmpeg - Ubuntu: sudo apt install ffmpeg - Windows: download from ffmpeg.org - If using --burn-subtitles: needs ffmpeg with libass (see README for details)

  • Set one API key:

- QWEN_API_KEY (default provider: qwen), or - OPENROUTER_API_KEY (if --llm-provider openrouter), or - GLM_API_KEY (if --llm-provider glm), or - MINIMAX_API_KEY (if --llm-provider minimax)

  • If using --speaker-references: run uv sync --extra speakers and set HUGGINGFACE_TOKEN

CLI Reference

Required

ArgumentDescription
sourceVideo URL or local file path

Optional

FlagDefaultDescription
-o, --output <dir>processed_videosOutput directory
--max-clips <n>5Maximum number of highlight clips
--browser <browser>firefoxBrowser for cookies: chrome, firefox, edge, safari
--title-style <style>fire_flameTitle style: gradient_3d, neon_glow, metallic_gold, rainbow_3d, crystal_ice, fire_flame, metallic_silver, glowing_plasma, stone_carved, glass_transparent
--title-font-size <size>mediumFont size preset for artistic titles. Options: small(30px), medium(40px), large(50px), xlarge(60px)
--cover-text-location <loc>centerCover text position: top, upper_middle, bottom, center
--cover-fill-color <color>yellowCover text fill color: yellow, red, white, cyan, green, orange, pink, purple, gold, silver
--cover-outline-color <color>blackCover text outline color: yellow, red, white, cyan, green, orange, pink, purple, gold, silver, black
--language <lang>zhOutput language: zh (Chinese), en (English)
--llm-provider <provider>qwenLLM provider: qwen, openrouter, glm, minimax
--user-intent <text>Free-text focus description (e.g. "moments about AI risks"). Steers LLM clip selection toward this topic
--subtitle-translation <lang>Translate subtitles to this language before burning (e.g. "Simplified Chinese"). Requires --burn-subtitles and QWEN_API_KEY
--speaker-references <dir>Directory of reference WAV files (one per speaker, filename = speaker name) for speaker diarization. Requires uv sync --extra speakers and HUGGINGFACE_TOKEN
-f, --filename <template>yt-dlp template: %(title)s, %(uploader)s, %(id)s, etc.

Flags

FlagDescription
--force-whisperIgnore platform subtitles, use Whisper
--skip-downloadUse existing downloaded video
--skip-transcriptSkip transcript generation, use existing transcript file
--skip-analysisSkip analysis, use existing analysis file for clip generation
--use-backgroundInclude background info (streamer names/nicknames) in analysis prompts
--skip-clipsSkip clip generation
--add-titlesAdd artistic titles to clips (disabled by default)
--skip-coverSkip cover image generation
--burn-subtitlesBurn SRT subtitles into video. Output goes to clips_post_processed/. Requires ffmpeg with libass
-v, --verboseEnable verbose logging
--debugExport full prompts sent to LLM (saved to debug_prompts/)

Custom Filename Template (-f)

Uses yt-dlp template syntax. Common variables: %(title)s, %(uploader)s, %(upload_date)s, %(id)s, %(ext)s, %(duration)s.

Example: -f "%(upload_date)s_%(title)s.%(ext)s"

Environment Variables

Set the appropriate API key for the chosen --llm-provider:

  • QWEN_API_KEY — for --llm-provider qwen
  • OPENROUTER_API_KEY — for --llm-provider openrouter
  • GLM_API_KEY — for --llm-provider glm
  • MINIMAX_API_KEY — for --llm-provider minimax

Workflow

The orchestrator runs this pipeline automatically:

  1. Download — fetch video + platform subtitles (Bilibili/YouTube) or accept local file
  2. Split — divide videos longer than the built-in threshold into segments for parallel analysis
  3. Transcribe — use platform subtitles or Whisper AI; --force-whisper overrides
  4. Analyze — LLM scores transcript segments for engagement; --user-intent steers selection
  5. Generate clips — ffmpeg cuts the video at identified timestamps
  6. Add titles (opt-in) — render artistic text overlay using --title-style
  7. Generate covers — create thumbnail image for each clip

Use --skip-clips, --skip-cover to skip specific steps. Use --add-titles to enable artistic titles. Use --skip-download and --skip-analysis to resume from intermediate results.

Output Example

After a successful run, report results like this:

✅ Processing complete — 5 clips generated
📁 processed_videos/video_name/clips/

  clip_01.mp4  [00:12:34 – 00:15:20]  "Title of the moment"
  clip_02.mp4  [00:28:45 – 00:31:10]  "Another highlight"
  clip_03.mp4  [00:45:00 – 00:47:30]  "Key discussion point"
  ...

Cover images: clips/*.jpg

Output Structure

processed_videos/{video_name}/
├── downloads/              # Original video, subtitles, and metadata (URL sources)
├── local_videos/           # Copied video and subtitles (local file sources)
├── splits/                 # Split parts and AI analysis results
├── clips/                  # Generated highlight clips + cover images
└── clips_post_processed/   # Post-processed clips when using --add-titles and/or --burn-subtitles

Option Selection Guide

Whisper model — Default base works for clear audio. Use small for background noise, multiple speakers, or accents. Use turbo for speed + accuracy. Use large/medium only when transcript quality is critical.

--force-whisper — Use when platform subtitles are auto-generated (often inaccurate), when "no engaging moments found" occurs (better transcripts improve analysis), or for non-native language content where platform captions are unreliable.

--use-background — Use for content featuring recurring personalities (streamers, hosts) where nicknames and community references matter. Reads from prompts/background/background.md.

Multi-part analysis — Videos that get split are analyzed per-segment, then aggregated to the top 5 engaging moments across all segments.

--user-intent — Steers LLM clip selection at both the per-segment and cross-segment aggregation stages. Useful when you want to find clips about a specific topic (e.g. "AI safety predictions", "funny moments").

--burn-subtitles — Hardcodes the SRT subtitle into the video frame. Use when you want subtitles always visible (e.g. for social media). Combine with --subtitle-translation to add a translated subtitle track below the original.

--speaker-references — Enables speaker diarization for interviews/podcasts. Provide a directory of 10–30 second clean WAV clips (one per speaker), named after the speaker (e.g. references/Host.wav).

Troubleshooting

ErrorFix
"ffmpeg not found" / clip generation fails silentlyInstall ffmpeg: brew install ffmpeg (macOS) or sudo apt install ffmpeg (Ubuntu)
"No API key provided"Set QWEN_API_KEY, OPENROUTER_API_KEY, GLM_API_KEY, or MINIMAX_API_KEY env var
"Video download failed"Check network/URL; try different --browser; or use local file
"Transcript generation failed"Try --force-whisper or check audio quality
"No engaging moments found"Try --force-whisper for better transcript accuracy
"Clip generation failed"Ensure analysis completed; check for existing analysis file

适合场景

01

调用多模型

02

代码和文本生成

03

Agent 推理流程

04

OpenRouter 模型接入

能力概览

能力 1

统一调用多种 LLM

能力 2

支持 Claude、Gemini、Kimi 等模型

能力 3

适合聊天、代码和推理任务

能力 4

可作为 Agent 模型调用入口

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

32.89%
按下载量换算82

Claude

28.89%
按下载量换算72

Cursor

20.35%
按下载量换算50

Gemini CLI

8.81%
按下载量换算22

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills