1.9 KiB
1.9 KiB
WBV2-P1128-000: ffmpeg.wasm movie codec module
- task:
WBV2-P1128-000 - parent:
WBV2-P1127-000 - status:
done - gap:
workflow:sequencer_movie_codec - ownerFamily:
MEDIA - targetImplementationClass:
LOCAL_BOUNDED
目标
使用本地 ffmpeg.wasm Worker 作为 Chromium HTML media 解码失败时的 MOVIE probe/proxy fallback;核心 JS/WASM 同源懒加载,输入和输出均 hash-bound。
输入与范围
- Dependencies:
web/package.json,web/package-lock.json - Protocol:
web/protocol/sequencer.ts - Runtime:
web/app/src/sequencer/SequencerCodecProbe.ts,web/app/src/sequencer/FFmpegMovieProbe.ts,web/app/src/sequencer/ffmpeg-movie-probe.worker.ts,web/app/src/sequencer/SequencerMediaProxyCache.ts - Local core:
web/app/src/vendor/ffmpeg/ffmpeg-core.js,web/app/src/vendor/ffmpeg/ffmpeg-core.wasm,web/app/public/vendor/ffmpeg/ffmpeg-core.js,web/app/public/vendor/ffmpeg/ffmpeg-core.wasm - Upstream source:
third_party/ffmpeg.wasm-source-f876f907c7e9b9bf51d4ed0b913a855a63ae63fc.tar.gz - Production test:
web/tests/e2e/ffmpeg-movie-probe-production.spec.ts
验收
npm --prefix web run typecheck
npm --prefix web run build
WEB_TEST_PORT=5342 npm --prefix web run test:e2e -- --workers=1 tests/e2e/ffmpeg-movie-probe-production.spec.ts
必须记录原生 HTML media 失败后的 ffmpeg.wasm 正例、metadata/frame 输出、损坏/identity/runtime 负例、AbortSignal cancellation、Worker termination、cache manifest identity 和 Chromium。历史 M11 MOVIE golden 不重写;H.264/浏览器解码差异留在新 capability receipt。
交付与回滚
- Receipt:
tests/golden/WBV2-P1128-000/module-receipt.json - Manifest:
tests/golden/WBV2-P1128-000/manifest.json - Status:
docs/status/WBV2-P1128-000.md - 回滚:恢复 P1127 manifest 为 queue parent,保留 ffmpeg 源码下载和依赖变更供后续复用。