安全场景卡视频生成

SKILL前端设计
前端设计 未标注权限 许可证不明确
安装这个技能

将工厂岗位安全场景卡一键转成带配音的竖版学习视频(1080×1920)。支持两类输入:A) PDF(文本层+现场照片直接解析);B) PNG/JPG 等图片(PaddleOCR 识别 + 区域裁剪放大)。解析生成结构化 schema,经人工复核后转 props、生成口播、Remotion 渲染成片。

一句话选型结论

按资料字段整理

安全场景卡视频生成是前端设计类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类前端设计 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_3fc87bd4/safety-scene-card-video
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

前端设计
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_3fc87bd4仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791622068
正文体量11.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
出页面与组件

按描述生成页面结构和组件草稿。

调整样式与布局

改间距、配色与响应式布局。

生成设计说明

把设计稿整理成开发能接的说明。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在前端设计场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
安全场景卡视频生成当前 未标注权限 未标注 未标注 未标注 有
前端设计 只读 GitHub 仓库 882.3 万 Codex、Claude、Cursor 有
Vercel 组合模式 联网访问 GitHub 仓库 385.9 万 Codex、Claude、Cursor 有
Vercel React native skills 前端 只读 GitHub 仓库 246.9 万 Codex、Claude、Cursor 有
adapt 搜索 浏览器控制 GitHub 仓库 202.7 万 Codex、Claude、Cursor 有
使用我的浏览器 浏览器控制 GitHub 仓库 184.8 万 Codex、Claude、Cursor 有

SKILL.md 全文

11.1 KB
模型实际读到的说明书原文,来自技能仓库

安全场景卡视频生成

目标

输入一份岗位安全场景卡(PDF 或 PNG/JPG 图片,如《油炸岗位·电磁炉油炸机操作安全场景卡》),自动产出一条竖版学习视频:
- 1080×1920、30fps、含中文口播配音(edge-tts zh-CN-XiaoxiaoNeural, rate=+8%)
- 幕结构:封面 → 岗位风险 → 操作步骤×N → 安全红线 → 异常处置×M → 安全口号
- 时长由各幕配音时长动态决定(每幕 = voiceDuration + 0.4s 头缓冲 + 0.7s 尾缓冲)
- 画面素材优先级:卡内现场照片/裁剪区域 > ImageGen AI 插画补足

运行环境(宿主项目)

复用 Remotion 项目 /Users/00000852/WorkBuddy/2026-08-24-19-24-51/remotion-test/:

  • 组件:src/SafetyVideo.tsx(幕版式)+ src/safety.ts(类型/帧数工具)
  • 注册:src/index.tsx 中 Composition id="SafetyVideo"(calculateMetadata 动态帧数)
  • Python:/Users/00000852/.workbuddy/binaries/python/envs/default/bin/python3(需 pymupdf)
  • edge-tts:/Users/00000852/.workbuddy/binaries/python/envs/default/bin/edge-tts
  • ffmpeg/ffprobe:node_modules/@remotion/compositor-darwin-arm64/(需 export DYLD_LIBRARY_PATH)

流程(五步)

第 1 步:归档输入并解析(按输入类型二选一)

输入类型 A:PDF 场景卡

PY=/Users/00000852/.workbuddy/binaries/python/envs/default/bin/python3
ROOT=/Users/00000852/WorkBuddy/2026-08-24-19-24-51/remotion-test
cp "<场景卡.pdf>" $ROOT/inputs/<卡号>.pdf
cd $ROOT
$PY scripts/pdf2schema.py inputs/<卡号>.pdf <卡号> $ROOT

产出:
- outputs/safety/<卡号>.schema.json —— 结构化数据(meta/risks/procedures/redlines/emergencies/slogan/images)
- outputs/safety/<卡号>.review.md —— 人工复核表
- public/cards/<卡号>/xref*.png —— 提取的全部图片(含角色标注)

解析要点(pdf2schema.py 内置,排障时看):
- CJK 部首变体:PDF 文本「风飞麦车文长门」常为 U+2EDx 部首码位,NFKC 不转换,脚本用 RADICAL_MAP 显式映射。新卡出现别的「怪字」时先查码点(python: hex(ord(ch)))再补映射。
- 图片角色分类:面积 >35% 页面 或(字节 <15KB 且像素 >300×200)→ 装饰背景;像素 <120 → 图标;其余按 bbox 中心 y 分带(步骤/红线/异常)、中心 x 分左右栏,与文字块最近匹配。新卡版式不同时调阈值。
- 过滤非正文字本:meta_keywords 黑名单(编号/岗位/B级文件/岗位风险/安全场景卡/岗位名)防止元数据行混入步骤;正文上界 page_h*0.78 排除落款。
- 双栏红线/异常:按 x 列分组再合并,防止跨列串行;is_meaningful_line() 过滤纯标点行(如「||」)。

第 2 步:人工复核(必做)

输入类型 B:图片场景卡(PNG/JPG/WebP/BMP/TIFF)

支持单张或多张(多张按顺序垂直拼接,兼容手机分段拍照)。第 1 步换用 img2schema.py 与专用 OCR 环境 paddle-ocr venv,后续 2~5 步与 PDF 路径完全相同:

PYOCR=/Users/00000852/.workbuddy/binaries/python/envs/paddle-ocr/bin/python3
ROOT=/Users/00000852/WorkBuddy/2026-08-24-19-24-51/remotion-test
cd $ROOT
cp &quot;&lt;场景卡图1&gt;.png&quot; &quot;&lt;场景卡图2&gt;.png&quot; ... $ROOT/inputs/
$PYOCR scripts/img2schema.py inputs/&lt;图1&gt;.png [inputs/&lt;图2&gt;.png ...] &lt;卡号&gt; $ROOT
# 版面基准不符时手动覆盖:--page-w-pt 1920

产出 schema 与 PDF 路径同构,另有:
- public/cards/&lt;卡号&gt;/region-&lt;field&gt;-&lt;n&gt;.png —— 各步骤/红线/异常的区域裁剪放大图(photoConfidence=cropped)
- public/cards/&lt;卡号&gt;/full-&lt;field&gt;-&lt;n&gt;.png —— 低清降级的整卡+红框高亮图(photoConfidence=degraded,裁剪 <400×300 时触发)
- review.md 追加「OCR 与画面素材说明」:OCR 置信度表(<0.9 建议人工复核该行)

图片路径解析要点:
- OCR:PaddleOCR(score<0.6 过滤);引擎封装在 run_ocr() 可替换函数中,必要时可换 macOS Vision 兜底。
- 行→块合并:垂直间隙 <0.8×行高 且水平重叠 >0.3 合并为块,还原 PDF block 粒度(首行=标题,其余=要点)。
- 版面基准:按拼接图宽高比自动推断页宽 pt(ratio>1.6→1920 宽幅卡 / >1.0→842 A4横 / ≤1.0→595 A4竖),使 cardparse 绝对阈值语义与 PDF 路径一致;不符时 --page-w-pt 手动覆盖。
- EXIF 旋转:手机拍照自动转正;多张宽度差 >15% 时白底居中补边。
- 相机水印过滤:现场照片上的 EXIF 水印(如「24mmf/1.81/50sISO80」「2026年7月23日15:24」)自动过滤(is_watermark:水印特征正则 + 行高 <26px 启发式)。
- 拼接重叠去重:同文本 y 中心差 <15% 图高的行自动去重(多张拍照重叠区)。
- 栏目标题错字纠错:「已党处理」等 OCR 错字自动纠正为「异常处理」(同长度差异 ≤2 位),保证 cardparse 板块锚点定位。
- 裁剪区域含照片:条目区域 = 文本列 x 范围(扩展到相邻条目间隙中点)× 整个板块带 y 区间,确保区域裁剪图包含现场照片、分辨率充足。
- 口号切分:OCR 连成一行的多句口号,长度为 3 的倍数时自动三等分。
- 实测基准(C-M422-001 油炸卡,300DPI 两段拼接):5 步骤/3 红线/3 异常/6 风险全对、11 幕照片全部 cropped、成片 88.6s 与 PDF 路径一致;800px 低清图自动降级 degraded(整卡红框图),内容解析偏差需人工复核(低清 OCR 质量所限,建议重拍高清)。

OCR 依赖一次性安装(已装好可跳过;安装失败降级链见 FAQ):

/Users/00000852/.workbuddy/binaries/python/envs/default/bin/python3 -m venv /Users/00000852/.workbuddy/binaries/python/envs/paddle-ocr
/Users/00000852/.workbuddy/binaries/python/envs/paddle-ocr/bin/pip install paddlepaddle -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
/Users/00000852/.workbuddy/binaries/python/envs/paddle-ocr/bin/pip install paddleocr pillow
# 验证:
/Users/00000852/.workbuddy/binaries/python/envs/paddle-ocr/bin/python3 -c &quot;from paddleocr import PaddleOCR; print(&#x27;OCR-OK&#x27;)&quot;

打开 outputs/safety/&lt;卡号&gt;.review.md 与 schema.json 对照原卡逐项核对:
- meta(卡号/岗位/文件级别/编号/公司)是否正确、怪字是否已标准化
- risks 数量、procedures 步数与每步要点、redlines/emergencies 条数
- 每条的照片路径是否映射对(看 images 账本中的 role/bbox)
发现错误直接编辑 schema.json(以人工修正为准,不重跑解析覆盖)。

第 3 步:schema → props

cd $ROOT
node scripts/schema2props.mjs outputs/safety/&lt;卡号&gt;.schema.json props-safety/&lt;卡号&gt;.json
# 产出 props-safety/&lt;卡号&gt;.json(幕序列 + 口播文案)

口播扩写规则(脚本内置,保守原则):只加连接词/称谓(如「第X步,…」「安全红线要记牢:…」),禁止编造卡片外事实;「CO₂→二氧化碳」「≥15分钟→15分钟以上」「·→,」由脚本预替换。
本步后可检查 props 中每幕 voice 文案是否顺口,必要时微调。

第 4 步:生成口播配音

cd $ROOT
node scripts/gen_safety_voice.mjs props-safety/&lt;卡号&gt;.json
# 产出 public/audio/safety-&lt;卡号&gt;-&lt;i&gt;.mp3 + props-safety/&lt;卡号&gt;-voiced.json(回填时长)

(可选分支)某幕缺照片/插画时:用 ImageGen 生成本幕主题插画,存 public/cards/&lt;卡号&gt;/art-&lt;i&gt;.png,在 props 该幕加 &quot;art&quot;: &quot;/cards/&lt;卡号&gt;/art-&lt;i&gt;.png&quot;。

第 5 步:渲染与校验

cd $ROOT
npx remotion render SafetyVideo out/safety-&lt;卡号&gt;.mp4 --props=props-safety/&lt;卡号&gt;-voiced.json

校验(三项全过才算交付):
1. ffprobe:视频 1080×1920、30fps、时长=音频时长±0.5s
2. 抽帧(每 6s 一帧):文件大小 >5KB 即非黑帧;照片幕帧应明显更大
3. 播放抽查首尾幕(封面/口号)无缺字、无错位

export DYLD_LIBRARY_PATH=$ROOT/node_modules/@remotion/compositor-darwin-arm64
FM=$ROOT/node_modules/@remotion/compositor-darwin-arm64/ffmpeg
$FM -y -v error -ss &lt;秒&gt; -i out/safety-&lt;卡号&gt;.mp4 -frames:v 1 -vf scale=270:480 out/frames-safety/f&lt;秒&gt;.jpg

验收标准

  1. 输入场景卡 PDF,五步流水线产出 out/safety-&lt;卡号&gt;.mp4:1080×1920、含配音、时长由内容动态决定
  2. schema 内容与原卡逐字一致(人工复核签字确认),无部首怪字
  3. 现场照片正确映射到对应步骤/红线/异常幕,无背景图误入
  4. 无黑帧、无声画不同步(音视频时长差 <0.5s)
  5. 口播文案零编造:所有事实均来自卡片原文,仅连接词扩写
  6. (图片输入)OCR 识别内容与原卡人工核对一致(置信度 <0.9 的行重点复核);步骤/红线/异常幕使用 cropped 区域裁剪图或 degraded 高亮整卡图,无空白幕

常见问题

现象 原因 解决
schema 某字段为空 文本含部首变体字符 查码点补 RADICAL_MAP
照片映射错乱 版式与启发式阈值不符 调 pdf2schema.py 中的分带/阈值参数
tsc 报 LooseComponentType 不兼容 props 类型用了 interface 改为 export type X = {...}(type 别名才有隐式索引签名)
渲染某幕之后全黑 Sequence 缺 durationInFrames 每幕 Sequence 必须显式带 durationInFrames
ffprobe not found 未设库路径 export DYLD_LIBRARY_PATH=&lt;compositor目录&gt;
OCR 个别字识别错(图片输入) 拍摄倾斜/光照不均/分辨率低 重新拍平正高清图;或人工直接改 schema.json(以人工修正为准)
paddleocr 安装失败(py3.13) 官方包未跟上 Python 版本 降级链:换 paddlepaddle 3.2.0 → 改用 python3.12 建 venv → 用 macOS Vision(pyobjc)重写 run_ocr()
img2schema 板块识别错乱 版面基准与阈值不符 检查推断的页宽 pt 是否正确(--page-w-pt 覆盖);调 cardparse 分带阈值
图片幕画面模糊 裁剪区域分辨率 <400×300 已自动降级为整卡+红框高亮(degraded);如需更清晰请用更高分辨率原图

参考文件

  • scripts/img2schema.py —— 图片→schema 解析入口(PaddleOCR + 拼接 + 区域裁剪/降级)
  • scripts/pdf2schema.py —— PDF→schema 解析引擎(含部首映射/图片角色分类)
  • scripts/schema2props.mjs —— schema→props 转换与口播保守扩写
  • scripts/gen_safety_voice.mjs —— edge-tts 配音生成与时长回填
  • scripts/cardparse.py —— 公共解析引擎(板块识别/schema 构建/复核表,PDF 与图片路径共用)
  • references/safety.types.ts —— schema/props TypeScript 类型定义
  • references/example.schema.json —— C-M422-001 油炸岗位卡完整示例

常见问题

5 问
答案由本站依据条目字段整理
安全场景卡视频生成怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_3fc87bd4/safety-scene-card-video。安装方式为未标注。装完刷新技能列表或重开客户端。

安全场景卡视频生成支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

安全场景卡视频生成权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

安全场景卡视频生成收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

安全场景卡视频生成用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。