video-depth-estimation-pipeline
将本地视频转换为近亮远暗的连续灰度深度视频,使用 Video Depth Anything 时序模型,保留时长和可选原声。用于深度控制视频、depth video、视频深度估计。
Files5
View on GitHubSKILL.mdskills/video-depth-estimation-pipeline/SKILL.md
GitHub视频转黑白深度
使用本技能目录的 scripts/convert.py,不要临时拼逐帧模型、边缘检测、浮雕或伪彩方案。本流程使用官方 Video Depth Anything Small 相对深度模型,不是米制测距,也不是立体左右眼视频。
执行
- 定位用户原片与当前深度 Python 环境,检查本机配置
~/.kunpeng/video-depth.json的 repo;未配置时默认~/.kunpeng/runtimes/Video-Depth-Anything。不要把旧聊天中的临时日期目录当通用安装位置。缺少环境时读取references/setup.md。 - 使用深度环境中的 Python 运行:
python <技能目录>/scripts/convert.py <原片路径> --output <新产物路径.mp4> --check - 检查成功后移除
--check执行同一命令。路径必须按当前 shell 正确引用。默认15fps、input-size=256、工作长边720、FP32、自动选择 CUDA/MPS/CPU,最终恢复源视频显示尺寸并保留第一条音轨。明确要求无声时加--silent。8GB Mac 不要直接上518/全尺寸长片。 - 通过 bash 的后台执行与 bash_read_output 跟进任务,检查 JSON stage 与进程退出码,不能因一次等待超时重复启动。同一输出存在 lock 表示已有任务;核实原进程后才能处理遗留锁。
- 完成必须看到
stage=completed、MP4 和同名.depth.json回执。抽取开头、中段、结尾验证纯灰度、场景近远关系和明显闪烁,再交付可播放路径;不能只看文件存在就宣布完成。用户要求进入画布/剪辑时,沿用已有素材导入工具,不自动新建工作台。
固定约束
- 原视频不覆盖,已有输出不覆盖;失败不发布半成品。
- 变帧率输入先用 FFmpeg fps 滤镜按时间戳转为恒定帧率,不能按帧序号stride后伪装目标fps。核对视频流时长,不把音频尾长当视频时长。
- 默认近亮远暗的纯黑白连续灰度,不要 inferno/jet。全片共享稳健范围归一化(上界99.5百分位,极近端少量值会裁切),不能逐帧拉伸;模型异常/常量深度必须报错。
- 使用视频时序模型;降工作分辨率保留整个时间轴,不能截前几秒冒充完成。默认最多1800个工作帧,超过时说明资源限制并按需求降低fps或分段;分段需核验接缝,不承诺无闪烁。
- 720工作长边与256网络输入只是计算规格,输出恢复原尺寸不代表恢复了原生高分辨率深度细节。报告最终尺寸、fps、时长和计算规格。
- 无声输入正常支持;有声默认保留原声。不同长度音轨不通过
-shortest截断深度画面。 - 下载源、代理、模型选择不静默更换。优先复用已装官方模型;本地转换不需要DMX/RunningHub key。