From 7f3d2e0747580faf3b58cd1ff47348ca2b11aafa Mon Sep 17 00:00:00 2001 From: BoatingCloud <1759888028@qq.com> Date: Sat, 29 Aug 2026 19:55:47 +0800 Subject: [PATCH] docs: record phase7 sdk integration status --- memory/2026-08-29.md | 6 ++++++ memory/MEMORY.md | 5 +++-- memory/infra.md | 2 ++ memory/lessons.md | 1 + memory/projects.md | 5 ++++- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/memory/2026-08-29.md b/memory/2026-08-29.md index f4bf436def..848ec58d68 100644 --- a/memory/2026-08-29.md +++ b/memory/2026-08-29.md @@ -44,3 +44,9 @@ 文件变更: include/mpv/harmony_playback.h, player/harmony_playback.c, playback_lab/entry/src/main/cpp/{player.h,player.cpp,render.cpp,bridge.cpp}, playback_lab/entry/src/main/ets/pages/Index.ets, benchmark/*, DOCS/{PHASE6_STATUS.md,PERFORMANCE_METRICS.md,PERFORMANCE_CHANGES.md,BENCHMARK_METHODOLOGY.md,STARTUP_PIPELINE.md,SEEK_PIPELINE.md,BUFFERING_MODEL.md} 教训: 完全依赖 mpv update callback 会导致重复 load 偶发 BUFFERING 卡住;保留低频安全探测。模拟器不提供 PSS/精确 heap/归一化 CPU,报告必须明确 unavailable;seek 50 次保留 1 次真实 SEEK 命令错误。 标签: #phase6 #benchmark #timeline #buffering #napi #emulator #device-pending + +[PROJECT:Velix Phase7] Core SDK 打包与主 App 集成 +结论: Core SDK ABI `0x000100`、预编译 arm64 库、构建信息与集成文档已入库;`14149854b8` 已推送 `origin/harmony-port`。主 App 已接入 PlaybackEngine/Controller、MpvPlaybackEngine 与 PlayerPage,release/debug HAP 通过,模拟器完成本地 MP4、暂停/seek、软件统计与 release 验收;设备与真实网络仍待验证。 +文件变更: ../Velix-MPV-Core/{include/velix, sdk/native, scripts/package-velix-core-sdk.sh, scripts/verify-velix-core-sdk.sh, DOCS/*}; ../Velix/Velix/{scripts, entry/src/main/ets, entry/src/main/cpp, entry/src/main/resources, entry/.gitignore}; memory/* +教训: 主 App 目录无 Git 元数据;SDK 通过 `entry/libs/arm64-v8a` 预编译库接入,不复制 MPV/FFmpeg 源码;HTTP 受控宿主试验未形成稳定成功证据,不能写成运行验收通过。 +标签: #phase7 #sdk #integration #openharmony #emulator #device-pending diff --git a/memory/MEMORY.md b/memory/MEMORY.md index ea52812890..dde20147c7 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -1,12 +1,13 @@ # Velix-MPV-Core 记忆索引 - 项目:地产运维中台媒体核心的 OpenHarmony MPV 端口。 -- 当前阶段:Phase 6 CODE COMPLETE / emulator benchmarked / device benchmark pending;HTTPS/HLS、网络字幕、鉴权资源和实体机验收待补。 +- 当前阶段:Phase 7 CODE COMPLETE / emulator integration verified / device validation pending;HTTPS/HLS、网络字幕、鉴权资源和实体机验收待补。 - 公共入口:`include/mpv/harmony_playback.h`,稳定 C API 不暴露 MPV/FFmpeg 内部类型。 - Playback Lab:C++ 仅做 NAPI/渲染适配,核心请求、控制、状态统一委托 C API。 - Phase 6:启动/seek/buffering/audio/资源/NAPI 时间线与 benchmark runner 已入库;5 次启动 update 617→364,20 次 startup、50 次 seek、100 次 load-stop、200 次 play-pause 已跑模拟器。 - 默认策略:软件解码;`harmony-ohcodec-gl` mapper 保持禁用,不声明零拷贝 GPU 能力。 -- 构建:default/software/FFmpeg-Harmony AArch64 通过;HAP 使用 DevEco JBR + `--no-daemon` 通过。 +- 构建:default/software/FFmpeg-Harmony AArch64 与 Velix Core SDK 打包/校验通过;HAP 使用 DevEco JBR + `--no-daemon` 通过。 - 设备:模拟器 `127.0.0.1:5555`,Playback Lab 已安装启动并完成本地 MP4 smoke。 +- Phase 7:Core 提交 `14149854b8` 已推送 `origin/harmony-port`;主 App 已接入 `PlaybackEngine`/`MpvPlaybackEngine`/`PlaybackController` 与 `PlayerPage`,本地 MP4、暂停/seek、统计、release 已在模拟器验证。 - 部署约定:服务器只按 `deploy.sh`、`deploy.sh status/logs/clean/clean-all` 执行。 - 详细状态:`memory/projects.md`;基础设施:`memory/infra.md`;教训:`memory/lessons.md`。 diff --git a/memory/infra.md b/memory/infra.md index db23882c81..5583d096cb 100644 --- a/memory/infra.md +++ b/memory/infra.md @@ -26,3 +26,5 @@ - MPV fork 接入:`scripts/build-mpv-ohos-ffmpeg-harmony.sh`;可用 `FFMPEG_PREFIX` 与 `MPV_BUILD_ROOT` 覆盖默认路径,默认 MPV/软件脚本不变。 - MPV fork 输出:切换脚本默认安装到 `build/ohos-arm64/prefix-mpv-ffmpeg-harmony`,不会覆盖默认 `prefix`。 - Phase 6 runner:`python3 benchmark/runner/run_emulator.py {startup_local,seek_local,stress_lifecycle,play_pause} --repeat N`;结果写入被忽略的 `benchmark/results/`。 +- Phase 7 SDK:`scripts/package-velix-core-sdk.sh [--profile default|software|ffmpeg-harmony] [--out DIR]`;校验使用 `scripts/verify-velix-core-sdk.sh [SDK_DIR]`,默认输出 `dist/velix-core/`。 +- Velix 主 App:`../Velix`;同步 Core 使用 `scripts/sync-velix-core-sdk.sh --local|--release --sdk DIR`,构建使用 `scripts/build-velix-app.sh --local-core|--release-core --build-mode debug|release`;最终 HAP `../Velix/entry/build/default/outputs/default/entry-default-unsigned.hap`。 diff --git a/memory/lessons.md b/memory/lessons.md index 12239f2891..9348625f5b 100644 --- a/memory/lessons.md +++ b/memory/lessons.md @@ -29,3 +29,4 @@ - 渲染 update 不能完全依赖 callback:部分重复 load 会话可能漏通知;事件驱动应保留低频(250ms)安全探测,否则会卡在 BUFFERING。 - 短媒体自动化 seek 若先等待首帧再执行多次 hdc keyEvent,媒体可能已 EOF;用立即触发的原生相对 seek 或更长受控 fixture,且保留真实命令错误。 - `/proc` 在模拟器不一定提供 PSS、精确 heap 或可校准 CPU tick;benchmark 必须输出 null/原始 jiffies,不能自行推断 permille。 +- `setup-ohos-env.sh` 被 zsh source 后可能剥离系统 PATH;跨脚本调用系统工具时使用绝对路径或 POSIX shell,不能假设 `dirname`/`cp`/`stat` 仍可查找。 diff --git a/memory/projects.md b/memory/projects.md index 5edec7bec6..b3609e06a4 100644 --- a/memory/projects.md +++ b/memory/projects.md @@ -2,7 +2,10 @@ ## Velix-MPV-Core -- 当前状态:Phase 6 CODE COMPLETE / EMULATOR BENCHMARKED / DEVICE BENCHMARK PENDING;提交待推送前复核。 +- 当前状态:Phase 7 CODE COMPLETE / EMULATOR INTEGRATION VERIFIED / DEVICE VALIDATION PENDING;Core 提交 `14149854b8` 已推送 `origin/harmony-port`。 +- Phase 7 产物:`include/velix/core.h`、`sdk/native/`、`scripts/package-velix-core-sdk.sh`、`scripts/verify-velix-core-sdk.sh` 与 `DOCS/CORE_*.md`/集成文档;SDK ABI 版本 `0x000100`,仅导出 3 个 `velix_core_get_*` C ABI 符号。 +- 主 App:`../Velix` 已通过 `scripts/sync-velix-core-sdk.sh` 接入预编译 Core,新增 `PlaybackEngine`、`MpvPlaybackEngine`、`PlaybackController`、`PlayerPage`;release/debug HAP 均可打包,产物为 `Velix/entry/build/default/outputs/default/entry-default-unsigned.hap`。 +- 模拟器验收:PlayerPage surface/EGL/mpv READY;打包 sample MP4 本地播放、暂停、seek、软件解码统计、release 通过;HTTP URL/headers 路径已接入但受控宿主 HTTP 试验未形成稳定成功证据,实体机与真实网络待补。主 App 目录无 Git 元数据。 - Phase 6 产物:`benchmark/runner/run_emulator.py` 与场景 manifest;启动 P50/P95 506/1150ms,seek recovery P50/P95 277/631ms;100 load/stop、200 play/pause 无错误,PSS/精确 heap/CPU permille unavailable。 - Phase 6 文档:`DOCS/PHASE6_STATUS.md`、`PERFORMANCE_METRICS.md`、`PERFORMANCE_CHANGES.md`、`BENCHMARK_METHODOLOGY.md`、`STARTUP_PIPELINE.md`、`SEEK_PIPELINE.md`、`BUFFERING_MODEL.md`。