diff --git a/docs/source-analysis.html b/docs/source-analysis.html index 1d7199a..8056e40 100644 --- a/docs/source-analysis.html +++ b/docs/source-analysis.html @@ -485,7 +485,7 @@
它把“你看到的界面、你想改的功能、实际要动的源码、可能影响的数据和接口”放在同一个地方。 - 后续描述需求时,可以直接说“改素材输入列 / 音频解析工作表 / 某个接口行为”,这样改动范围会更准,也更容易追踪每次变更带来的影响。 + 后续描述需求时,可以直接说“改素材输入列 / 音频解析结果 / 分镜工作台 / 某个接口行为”,这样改动范围会更准,也更容易追踪每次变更带来的影响。
例如“素材输入列”、“音频解析工作表”、“逐句时间轴 / 讲话人分析 / 背景音分析”。不要只说“这里乱”,要指向页面里的功能区。
+例如“素材输入列”、“音频解析结果”、“逐句时间轴 / 讲话人分析 / 背景音分析”、“信息流复刻分镜工作台”。不要只说“这里乱”,要指向页面里的功能区。
web/next.config.mjseslint 顶层配置,避免本地 dev 出现配置 Issue 提示。web/app/globals.cssnextjs-portal 遮挡隐藏规则。web/app/page.tsxtriggerTranscribe,不再默认触发抽帧、Vision 扫描或分镜初稿保存;底部吸附音频条不再从主界面渲染。web/components/ad-recreation-board.tsxrequestAnimationFrame 平滑驱动波形播放线,同时同步高亮并滚动当前句;点击音频波形或字幕行会跳转原视频时间。音频结果下方是信息流复刻分镜工作台:每条音频分镜纵向排列,行内从左到右串起原内容、新口播文案、画面规划/产品融入、参考帧/关键元素和生成视频;单条生成会先把该行规划保存为对应关键帧分镜,再复用现有生视频接口提交 Seedance 候选。旧分镜卡、抽帧控制和视频生成组件仍保留在文件里,但当前主路径不渲染。web/app/page.tsxtriggerTranscribe,不再默认触发抽帧、Vision 扫描或分镜初稿保存;底部吸附音频条不再从主界面渲染。web/components/ad-recreation-board.tsxrequestAnimationFrame 平滑驱动波形播放线,同时同步高亮并滚动当前句;点击音频波形或字幕行会跳转原视频时间。音频结果下方是信息流复刻分镜工作台:每条音频分镜纵向排列,行内从左到右串起原内容、新口播文案、画面规划/产品融入、参考帧/关键元素和生成视频;单条生成会先把该行规划保存为对应关键帧分镜,再复用现有生视频接口提交 Seedance 候选。旧分镜卡、抽帧控制和视频生成组件仍保留在文件里,但当前主路径不渲染。web/app/login/page.tsxweb/app/login/layout.tsx/login 继承工作台 metadata 后在页面源码里继续出现登录界面文字以外的文案。web/components/login/oasis-canvas.tsxweb/public/oasis-source/index.html 的原 WebGPU / Three.js 草场源码;父级登录页只覆盖自己的文案和表单,并在捕获阶段把全局鼠标坐标同时用原生事件和 postMessage 转发给 iframe,避免登录面板或输入框遮挡时草地失去鼠标响应。web/public/skg-logo-black.svghttps://cn.skg.com/logo-black.svg 获取的 SKG 官方黑色 SVG 字标;登录页通过 CSS 反相成白色玻璃标识使用。web/components/login/animated-login-characters.tsxweb/components/nodes/index.tsxweb/components/audio-strip.tsxweb/components/audio-strip.tsxweb/components/lightbox.tsxweb/components/product-library-picker.tsxasset。web/components/storyboard-bar.tsx前端主链路:
web/app/page.tsx
- -> 音频解析工作表:web/components/ad-recreation-board.tsx
+ -> 信息流广告复刻工作表:web/components/ad-recreation-board.tsx
-> 开始:创建/激活 job → 下载完成后自动触发音频处理
-> 左侧素材输入列 + 右侧默认折叠的音频文案依据 + 统一音频解析结果面板(声音摘要在上,原视频与逐句时间轴并排,底部连续响度波形联动)
-> 信息流复刻分镜工作台:逐句时间轴 → 原内容 / 新口播文案 / 画面规划与产品融入 / 参考帧与关键元素 / 对应候选视频
@@ -643,7 +643,7 @@ api/main.py
界面区域到源码
- 你看到的区域信息流广告音频解析工作表
+ 你看到的区域信息流广告复刻工作表
主要源码AdRecreationBoard in web/components/ad-recreation-board.tsx;状态、轮询和接口回写仍在 web/app/page.tsx。
适合怎么描述“素材输入列、开始后的自动下载/音频解析、逐句时间轴和声音背景音结果怎么展示”。
@@ -826,7 +826,7 @@ SubjectAsset {
删除输入视频 DELETE /jobs/{id}deleteJob从任务队列、URL 和磁盘 jobs/<id> 目录移除整个 job,包括源视频、关键帧、元素提取图和生成视频。
解析视频 POST /jobs/{id}/analyze?frames=&target=&mode=&quality=analyzeJob后续阶段保留的抽帧能力。默认 frames=12;target 支持透明骨架人、综合、清晰主体、转场变化、表情瞬间、动作峰值。当前第一步主流程不自动调用该接口。
音频文案轨 POST /jobs/{id}/transcribetriggerTranscribe若尚未拆轨,先从 source.mp4 提取 audio.wav 并回填 source_audio_url;随后用 ASR 提取原始文案,翻译成中文,写入 audio_script.source_text、source_zh 和逐句 transcript。远端 ASR_MODEL 失败后先走本机 LOCAL_ASR_BIN/LOCAL_ASR_MODEL(默认 mlx_whisper),再尝试 ASR_FALLBACK_MODEL。后端会拒绝重复文本、逐秒假字幕或覆盖率过低的结果,不再把不可听的多模态输出写进时间轴。再用 ASR_FALLBACK_MODEL 多模态音频分析讲话人、语速节奏、停顿、背景音乐/环境声/音效,写入 speaker_profile、rhythm_profile、background_audio_profile。当前第一步不默认生成 SKG 新口播和 MiniMax 配音。
- 原始音频文件 GET /jobs/{id}/audio.wavsourceAudioUrl返回拆轨得到的 wav;当前主界面不再渲染底部吸附音频条,右侧音频解析工作表会读取该文件生成参考图式横向响度波形,并和原视频、逐句时间轴联动。
+ 原始音频文件 GET /jobs/{id}/audio.wavsourceAudioUrl返回拆轨得到的 wav;当前主界面不再渲染底部吸附音频条,右侧复刻工作表会读取该文件生成参考图式横向响度波形,并和原视频、逐句时间轴联动。
改写配音文件 GET /jobs/{id}/audio-script.mp3apiAssetUrl(job.audio_script.voice_url)后续新配音阶段保留的 MiniMax T2A 产物。当前第一步不默认生成该文件。
手动加帧 POST /jobs/{id}/frames?t=addManualFrame按视频时间戳抽一帧,index 递增但 frames 按 timestamp 排序。
Vision 识别 POST /frames/{idx}/describedescribeFrame写入 frame.description,后续可从 objects 加候选元素。
@@ -857,7 +857,7 @@ SubjectAsset {
- 音频解析工作表
+ 复刻工作表
承载当前第一步主路径:素材输入列按文件任务管理素材;点击“开始”后自动下载源视频,下载完成后只触发音频提取、原文案转写、中文翻译、讲话人/节奏/背景音分析,并以工作表方式展示。
不要在当前开始流程里自动抽帧、自动写分镜、自动生成元素或自动合成视频;不要恢复右侧空白画布占位。
web/components/ad-recreation-board.tsx、web/app/page.tsx
@@ -870,7 +870,7 @@ SubjectAsset {
音频条
- 音频解析工作表顶部触发音频解析;全文音频文案依据默认折叠,主展示以统一音频解析结果面板为准:声音/节奏/背景音摘要在上,逐句时间轴在下;底部 AudioStrip 当前不渲染。
+ 复刻工作表顶部触发音频解析;全文音频文案依据默认折叠,主展示以统一音频解析结果面板为准:声音/节奏/背景音摘要在上,逐句时间轴在下;底部 AudioStrip 当前不渲染。
当前第一步不要默认展示底部音频条、新配音播放器、独立原文案提取大卡片,或把 MiniMax 配音当作已完成结果。
web/components/audio-strip.tsx、pipeline_transcribe、AudioScript
@@ -922,8 +922,8 @@ SubjectAsset {
需求描述模板
- 改音频解析工作表
- “我在素材输入列或右侧音频解析工作表,开始后下载、转写、翻译、讲话人/节奏/背景音哪些状态要怎么展示。”
+ 改复刻工作表
+ “我在素材输入列或右侧复刻工作表,开始后下载、转写、翻译、讲话人/节奏/背景音、分镜行和生成结果哪些状态要怎么展示。”
改音频字段
diff --git a/web/components/ad-recreation-board.tsx b/web/components/ad-recreation-board.tsx
index 3fea8b9..0833785 100644
--- a/web/components/ad-recreation-board.tsx
+++ b/web/components/ad-recreation-board.tsx
@@ -491,8 +491,8 @@ export function AdRecreationBoard({
- feed ad audio intake board
- 信息流广告音频解析工作表
+ feed ad recreation worksheet
+ 信息流广告复刻工作表