Plan Video - 视频任务规划
概述
为批量视频处理创建结构化任务清单。提取 URLs → 生成 VideoIds → 创建 todolist.md 追踪文件。
使用时机
-
用户提供视频 URLs 需要批量处理
-
在下载/处理前需要规划任务结构
工作流程
- 提取视频 URLs
从用户输入(消息/文件)中提取所有视频链接。
from scripts.extract_video_id import extract_urls urls = extract_urls(user_input_text)
支持平台:小红书、抖音、TikTok、B站、YouTube、快手等
- 提取 VideoId
为每个 URL 提取唯一标识符。
from scripts.extract_video_id import extract_video_id video_id = extract_video_id(url)
'http://xhslink.com/o/6VbNVltFQRX' → '6VbNVltFQRX'
- 生成 todolist.md
在输出目录创建任务清单,列出所有待生成文件。
格式:
Video Processing Tasks
{VideoId} ({原始短链接URL})
- orgin/{VideoId}/{VideoId}.json # 元数据,通过 skill
parse-video获得 - orgin/{VideoId}/{VideoId}.mp4 # 视频,通过 skill
parse-video获得 - orgin/{VideoId}/{VideoId}_cover.jpg # 封面,通过 skill
rip-video获得 - orgin/{VideoId}/{VideoId}.mp3 # 音频,通过 skill
rip-video获得 - orgin/{VideoId}/{VideoId}.srt # 字幕,通过 skill
rip-video获得
示例:
6VbNVltFQRX (http://xhslink.com/o/6VbNVltFQRX)
- orgin/6VbNVltFQRX/6VbNVltFQRX.json
- orgin/6VbNVltFQRX/6VbNVltFQRX.mp4
- orgin/6VbNVltFQRX/6VbNVltFQRX_cover.jpg
- orgin/6VbNVltFQRX/6VbNVltFQRX.mp3
- orgin/6VbNVltFQRX/6VbNVltFQRX.srt
- 输出报告
============================================================ 视频处理计划已创建!
找到视频: {total} 个 输出目录: {outputDir}/orgin/ 任务列表: {outputDir}/todolist.md
可以继续使用 parse-video 和 rip-video 进行下载和处理。
错误处理
-
未找到 URLs:提示用户未检测到有效视频链接
-
VideoId 提取失败:跳过该 URL,在报告中说明
-
输出目录不存在:自动创建目录结构
-
todolist.md 已存在:询问用户是否覆盖或追加
资源文件
scripts/extract_video_id.py
VideoId 提取工具。
函数:
-
extract_video_id(url: str) -> str :提取单个 URL 的 VideoId
-
extract_urls(text: str) -> list[str] :从文本提取所有视频 URLs
集成说明
此 skill 为后续处理准备基础:
-
parse-video:使用 todolist.md 中的 VideoIds 和 URLs 解析元数据、下载视频
-
rip-video:使用 todolist.md 中的 MP4 路径提取音频和字幕
todolist.md 是整个视频处理流程的中心追踪文档。