工具简介
这是一条“在线工具生成型 AI 提示词(Prompts)”:让 AI 直接产出一个可运行、可构建、可部署的网页工具,用于对 MP4/MKV 文件做编码参数审计(容器信息、音视频轨道、字幕轨、码率/GOP、关键编码开关),并生成结构化报告与风险提示。
适用场景
适合视频交付前自检:检查是否满足平台/投放/剪辑链路要求;排查转码后音画不同步、码率异常、分辨率或色彩空间不一致、字幕轨缺失;给客户或团队输出可复用的“审计报告”。
交付物要求(必须产出)
AI 需要输出:完整项目源码(前后端)、清晰文件树、安装与运行命令、Docker 部署说明、以及可执行的 QA checklist(或测试用例)。
Prompt(Prompts)
你是资深全栈工程师与媒体工程(编码/封装)专家。请你生成一个“MP4/MKV 编码参数审计报告”在线工具的完整可运行项目。
【目标】
- 用户在网页上传一个 MP4 或 MKV 文件。
- 工具自动解析容器与轨道元数据,生成可下载的审计报告(JSON + HTML/PDF 二选一,至少提供 JSON)。
- 生成风险提示与建议(例如:码率阶梯异常、帧率不稳定、音轨采样率不常见、颜色空间不一致、缺少关键 data、字幕轨语言/编码异常等)。
【硬性约束】
1) 必须给出完整项目代码与文件结构(逐文件输出),能直接运行。
2) 必须给出一键启动命令(本地开发)与 Docker 部署(Dockerfile + 可选 docker-compose)。
3) 必须提供 QA checklist(可操作、可验证)。
4) 不允许生成任何“出图/配图/海报/插画/渲染图”导向内容;本工具只做分析、预览与报告导出。
【技术选型(建议但可替换)】
- 前端:Next.js 14 + Type + Tailwind(或 Vite + React)。
- 后端:Node.js + Express(或 Next.js API routes)。
- 媒体解析:容器/轨道信息用 ffprobe(通过 Docker 镜像内置 ffmpeg/ffprobe),不依赖宿主机安装。
- 安全:限制文件大小(例如 1GB 可配置)、仅临时存储、任务完成自动清理;避免 SSRF/命令注入。
【功能清单】
- 上传:拖拽上传 + 进度条;支持取消。
- 解析:展示概览(时长、分辨率、帧率、码率、编码器、profile/level、像素格式、色彩空间、音频编码/采样率/声道、字幕轨列表)。
- 规则引擎:内置一组审计规则(可配置),输出 warnings/errors;例如:
- VFR 检测(avg_frame_rate 与 r_frame_rate 差异);
- GOP 过长/过短提示;
- 音轨多语言与默认轨标记检查;
- HDR/BT.2020/BT.709 的一致性提示;
- 容器 time_ 与 start_time 异常提示。
- 报告:
- JSON:包含 raw ffprobe 输出、归一化字段、规则命中结果、建议。
- HTML:可打印;包含摘要、轨道表格、问题列表、建议。
- 导出:下载 JSON;(可选)下载 HTML。
【接口设计】
- POST /api/analyze:multipart 上传文件,返回 jobId。
- GET /api/job/:id:轮询任务状态与结果。
- GET /api/report/:id.json:下载 JSON。
- GET /api/report/:id.html:下载 HTML(可选)。
【必须输出】
A) 项目文件树。
B) package.json、关键源代码(前端页面、上传组件、后端接口、ffprobe 调用、规则引擎、报告生成)。
C) Dockerfile(内置 ffmpeg/ffprobe)与运行说明。
D) 详细的 README:包含本地运行、Docker 运行、配置项(最大文件、并发、存储目录)、常见报错处理。
E) QA checklist:至少 20 条,包括:不同容器/编码/字幕/多音轨/异常文件/超大文件/中途取消/结果一致性等。
【输出格式】
- 先给文件树。
- 再逐文件给代码(用代码块标注路径)。
- 最后给运行命令与 QA checklist。
实现提示
建议把 ffprobe 的原始输出保留在报告中,同时做一层“归一化模型”(streams/format 关键字段提取),这样规则引擎和前端展示都更稳定。文件处理建议使用临时目录并按 jobId 隔离,完成后清理。