Dramivio项目文档下载文档包 ↗
2026.10.04 UTC · Android原生缓存队列本地实现与复审进展 · 真实服务尚未发布Markdown

视觉按最新原型,业务按已确认PRD。现有代码为满足设计而改造。执行见按设计实施与任务卡;当前代码与验证范围见消费者功能页。

加密来源的内存解码缓存

本页目录下载路线复用入口验证与范围下一项可单独拆解的验收

最新:App356项及Android36实际三集加密缓存、断网冷启动、3秒恢复与0秒补传通过,详见本轮Android验收与图片。下方保留此前344阶段的实现、验证和当时剩余范围,当前状态见新报告。

2026-10-04。已修改短剧库和 juku-mobile,复用现有渠道解析、FFmpeg、RAM 分片、Better Auth 许可和原生下载队列。平台 257/257、App 344/344 及类型检查通过,Go/认证/数据库并发联调通过。当前 Android 测试包已重新构建;本阶段尚未安装验收加密缓存。

下载路线

来源 App 下载方式
普通 MP4/HLS 先直连;实际网络失败后申请 RAM 转发
现有渠道返回需要密钥处理的 HLS 用既有 HLS 网关处理清单和密钥,再交给系统下载器
现有解码器支持的 CENC MP4 服务端按需生成 RAM HLS,App 使用原生下载器缓存
真实 DRM、服务器本地视频、未知格式 保持不支持,不降级绕过

普通来源继续优先直连。CENC 源无法按普通视频缓存时才使用解码网关,不能把无法解码的直链当作成功下载。来源必须由后台明确开放 App 缓存,并允许实际输出格式;CENC 输出为 HLS,仅允许 MP4 的策略会在扣次前拒绝。

准备下载只解析元数据和读取许可,不读取视频或启动 FFmpeg。首次 HLS GET 才启动已有解码器;HEAD 不启动转换。网站的视频字节仅进入已有有界内存分片,最终离线文件保存在 App 本机。当前没有接 Redis。

同一资产的准备、转发、显式重试和 RAM 地址丢失恢复均复用原许可,不重复扣次或延长到期。解码失败停止该转发能力,用户重试取得新地址;不自动循环。取消订单会终止转换并释放内存。首次许可提交成功后转换失败,不自动退次,用户可在原有效期内重试。

复用入口

项目与入口 实施内容
短剧库 resolveConsumerOfflineCandidate 从现有来源读取地址及输出格式;密钥只留 Go 内存
短剧库 prepareConsumerOfflineRelay 读取原资产许可,创建短时受控媒体地址
短剧库 consumerOfflineDecoder 延迟调用已有 inspectPlaybackMedia / generatePlayback,复用 RAM、并发及取消机制
juku-mobile createOfflineAPI 接受准备阶段返回的受控转发地址,复用同源/路径/身份/到期校验
juku-mobile createOfflineQueue 保存资产的转发意图,重启及重试继续原许可

原生代码未新增接口,继续使用 runtime8 的 Media3 / Apple 下载器。两条并发、100 集 / 2GiB 的当前账号/API本机容量、Wi-Fi 和空间控制沿用已接入配置。服务器沿用现有全局 RAM、媒体与解码并发预算,转发地址最多30分钟且不超过原许可及安装批准时间;每次资源请求再次核对资格。

私有平台只收到原有地址、格式和 Referer 字段,没有密钥或新数据库结构。返回原生下载器的转发请求没有网站登录头或上游请求头,地址和密钥不进入 App 持久化订单记录。

验证与范围

检查 结果及证据
平台全量 257/257;真实隔离 RAM PostgreSQL / Better Auth,覆盖 HLS 输出策略、原许可和单次扣次
App 全量与类型 344/344、类型通过;新增准备即转发、恶意地址/凭据拒绝、重试意图及禁止自动循环
实际 Go / 认证 / PostgreSQL 联调 普通与加密两条 Go 测试均通过;3秒自建 CENC 样本实际转换并解码约90帧;总计3笔首次扣次,重试不新增
联调并发检查 同一真实链路在 Go race 下通过;含 RAM 能力丢失后的原许可恢复、取消后新旧地址失效
Go 相关并发回归 缓存、RAM媒体、生成与封装检查通过;并发初始化、取消中的中断和内存归零通过
构建 当前 Go 程序和完整 Android APK通过;当前 iOS Hermes 导出通过
APK 检查 runtime8、原生类、服务声明、Hermes、签名及 ZIP16KiB对齐通过;不是完整 ELF16KiB或设备验收
沿用结果 上阶段 Android Media3 34项、Apple SDK185项、Payload86项、Web167项;本阶段未重跑或重新安装

样本为本地生成的可控视频,测试邮箱和安装资格使用夹具。测试生成样本会使用临时文件;网站生产传输路径使用 HTTP 与 RAM。真实渠道、真实手机、完整 iOS 构建、部署层临时文件策略未验收。上阶段已通过的 Android 飞行模式冷启动针对普通视频,不能作为本阶段 CENC 缓存验收。本阶段由主 Agent 实施和复核,没有新的独立子 Agent 复审。

测试期间修正了两个夹具问题:不同剧集的固定订单编号冲突;测试读取 FFmpeg 初始化状态未使用现有锁。没有降低业务校验。

下一项可单独拆解的验收

  1. App 加密缓存:用当前 APK 和可控 CENC 来源完成下载;断网冷启动、完整播放、拖动、位置恢复及联网补传。核对同一资产、原到期时间和账本没有新增扣次。
  2. 取消与恢复:下载中取消、账号切换、转发超时和 Go 重启;确认原生删除、RAM/FFmpeg释放及显式重试;不混用失败任务的残余文件。
  3. 渠道兼容:分别接普通MP4、带密钥HLS及现有解码器支持的CENC来源,验证短期地址、缺少Range、未知时长和格式策略;不支持时返回简短可操作提示。
  4. 真机与部署:Android/iOS后台、系统空间、来电和网络切换;完整iOS构建;反向代理不得把视频缓冲写入磁盘。记录直连比例、首帧、下载成功率及实际转发字节。

当前状态 · 验证记录 · 上阶段 Android 安装验证