54 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2026-05-20 21:39:12 +08:00
---
name: video-frame-extractor
description: 汽车环车视频抽帧处理。用于 video_frame_extractor 能力:从车辆环车视频、本地视频路径、/upload 路径或可访问视频 URL 按指定 fps 抽取关键帧图片,写入共享 workspace/video_info.json作为 damage-detector、damage-grounding、best-frame-selector、scratch-report-generator 的前置步骤;纯计算,不调用 AI 模型。
license: MIT
metadata:
version: "1.0.0"
category: vehicle-inspection
skillType: compute-entry
aliases: ["video_frame_extractor"]
tags: ["vehicle", "video", "ffmpeg", "frames", "环车检测", "抽帧"]
---
# 视频抽帧处理
当用户提供环车视频并需要进行旧伤检测时,先用 `execute_skill` 调用本技能。
```json
{
"name": "video-frame-extractor",
"input": {
"videoUrl": "/upload/20260514/car.mp4",
"fps": 5,
"quality": 90,
"taskId": "order_10001"
}
}
```
## 工作流程
1. 解析 `videoUrl`。支持本地路径、`/upload/...``http://localhost/...``http://127.0.0.1/...` 和可直接下载的视频 URL。
2. 使用 `ffprobe` 读取视频时长、分辨率、原始帧率和总帧数。
3. 使用 `ffmpeg``fps` 抽帧到共享 workspace 的 `frames/` 目录。
4. 写入 `workspace/video_info.json`,包含视频信息和帧列表。
## 输入
- `videoUrl`: 必填,视频路径或 URL。
- `fps`: 可选,默认 `5`,范围 `0.2-10`
- `quality`: 可选,默认 `90`,范围 `1-100`
- `taskId`: 可选,不传则自动生成。
## 输出
返回 `taskId``workspacePath``frameCount``videoInfo`。后续技能必须复用同一个 `taskId`
## 约定
- 需要 Node.js 18+。
- 共享 workspace 根目录优先读取 `VEHICLE_SCRATCH_WORKSPACE_ROOT`,其次兼容 `RZYX_AI_WORKSPACE_ROOT`,否则使用 `RZYX_AI_DATA_DIR/workspace/vehicle-scratch-inspection`
- 如果系统 PATH 里的 `ffmpeg/ffprobe` 不可用,可运行 `bash scripts/make.sh fix` 安装 `@ffmpeg-installer`,或通过 `FFMPEG_PATH``FFPROBE_PATH` 指定二进制路径。
- 在 AIflow 生产运行时,宿主会注入 `RZYX_AI_DATA_DIR``RZYX_AI_UPLOAD_ROOT``RZYX_AI_WORKSPACE_ROOT`;本技能不依赖百度 OCR 或百度车损 API。
- 用中文回答所有内容。