Install
openclaw skills install @terrycarter1985/video-content-analyzerAnalyze video content by extracting keyframes, searching the web for references, storing results in Supabase, and publishing reports to Feishu Wiki. Supports single-video and batch (whole-directory) processing with category-grouped Wiki publishing. Use when a user wants to analyze one video or many videos at once and turn them into searchable documentation.
openclaw skills install @terrycarter1985/video-content-analyzerProcess video content into structured, searchable documentation. The workflow extracts keyframes with ffmpeg, searches the web for related references, stores all metadata and results in Supabase, and publishes analysis reports to Feishu Wiki.
pip install -r requirements.txt (requires ffmpeg)..env.example to .env and fill in Supabase, Google Custom Search,
and Feishu OpenAPI credentials.supabase db push.Single video:
python src/main.py path/to/video.mp4 --user-id <uuid> --space-id <feishu-wiki-space-id>
Batch process a directory (results stored in Supabase, reports grouped by category in Feishu Wiki):
python src/main.py path/to/videos/ --batch --user-id <uuid> --space-id <space-id>
Optional keyword-based categories (override the default sub-folder grouping):
python src/main.py path/to/videos/ --batch --user-id <uuid> --space-id <space-id> \
--category-rules '{"webinar": "events", "tutorial": "learning"}'
--batch — treat the path as a directory and process all videos inside.--no-recursive — only scan the top level of the directory.--category-rules — JSON map of path-keyword → category (takes priority over
the sub-folder name).--stop-on-error — abort on the first failing video (default: continue and
report per-video failures).Each video's category is resolved in this order:
uncategorized.Pages sharing a category are published under one Feishu Wiki node, which is created once per category and reused across runs.
video_assets, video_frames, search_results, wiki_pages rows in Supabase.batch_runs summary row per directory run (totals + success/failure counts).