Agent Skills
返回列表
深度视频转换器

深度视频转换器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_771d4459/deep-video-converter。

技能介绍

解决什么问题

把一段短视频转成深度图、姿态图这类可视化素材,通常需要自己搭好 PyTorch、MediaPipe、FFmpeg 三套依赖,再写批处理脚本。不同模型对 Python 版本和计算后端的要求互相冲突——PyTorch MPS 要新 Python,MediaPipe 0.10+ 推荐 Task API 且对 Metal 上下文敏感。这个 skill 把整套流水线收敛成一个本地 Web 服务,拖拽上传后一键产出 5 种 AI 可视化效果。

工作原理

后端刻意拆成两个隔离环境:

  • Env-A(env_a/):Python 3.13 venv,PyTorch 2.13 MPS 后端,承载 Depth-Anything-V2 和 KeypointRCNN 两个模型。
  • Env-B(env_b/):Python 3.11 conda 环境,跑 MediaPipe FaceLandmarker(纯 CPU),通过子进程方式被 Env-A 调用。

单视频的处理顺序固定为:face(3.11 子进程)→ depth(MPS)→ pose(MPS)→ composite。前端是单页拖拽式 UI,服务起在 http://localhost:8787。

FFmpeg 用的是 bin/ 下 imageio-ffmpeg 捆绑的静态二进制(v7.1,ARM64),所以不用系统装 ffmpeg。面部检测模型 models/face_landmarker.task 只有 3.6MB,随项目携带。

适用边界与注意事项

  • 模型权重首次运行要从 HuggingFace 拉取,国内环境必须设 HF_ENDPOINT=https://hf-mirror.com,且要用 env -u http_proxy -u https_proxy 清掉本机代理变量,否则 httpx 会走代理超时。
  • PYTHON_311_PATH / MEDIAPIPE_PYTHON 要指向 env_b 的 Python 3.11,PATH 需包含项目 bin/ 目录。
  • 批量模式下面部处理曾出现 0% 卡死,原因是 MPS 模型加载后残留 GPU 内存与 MediaPipe 的 Metal 上下文冲突;当前代码已在子进程前调用 unload_models() + torch.mps.empty_cache(),缓存跳过路径也补了 progress_callback("done", ...)。如果仍然挂住,手动重启服务即可。
  • MediaPipe 0.10+ 已废弃 solutions API,必须用 Task API 加载本地 .task 文件,别写旧式代码。
  • enva 和 envb 是独立环境,任何一个损坏(比如 torch 升级后 MPS 不可用、conda 环境被清)都需要按项目说明重建。

使用场景

  • 在 M1/M2 Mac 上开发视频 AI 应用,需要快速将素材转为深度图和姿态图进行可视化调试,不想手动配置 MPS 环境
  • 研究视频理解时需要生成多模态训练数据(深度、姿态、面部关键点),希望一键产出标准化的可视化素材
  • 构建内部视频分析工具时希望在本地安全处理用户上传视频,不想依赖云端 API 或担心隐私泄露
  • 维护视频处理流水线时遇到 MPS 与 MediaPipe 内存冲突,需要一个隔离的双环境方案来稳定批量处理

适合人员

  • 在 M1/M2 Mac 上开发视频 AI 应用的工程师,希望快速验证深度/姿态可视化效果,不想手动配置 MPS 环境
  • 研究视频理解的研究生,需要生成多模态训练数据(深度、姿态、面部关键点),希望一键产出标准化的可视化素材
  • 构建内部视频分析工具的开发者,希望在本地安全处理用户上传视频,不想依赖云端 API 或担心隐私问题
  • 维护视频处理流水线的工程师,遇到 MPS 与 MediaPipe 内存冲突问题,需要一个隔离的双环境方案来稳定批量处理