Octans-媒体库播放能力规划与分流
本文主要把一类自托管媒体库(以 Octans 播放子系统为例)的播放能力决策写成可复用的 Planner 模型:输入不是「codec 能不能播」的布尔判断,而是客户端能力、媒体事实与策略的交叉求解;输出是 DirectPlay / DirectStream / Transcode(及无法成计划时的 Unsupported),并与交付方式(HttpFile / Hls 等)解耦。 ...
本文主要把一类自托管媒体库(以 Octans 播放子系统为例)的播放能力决策写成可复用的 Planner 模型:输入不是「codec 能不能播」的布尔判断,而是客户端能力、媒体事实与策略的交叉求解;输出是 DirectPlay / DirectStream / Transcode(及无法成计划时的 Unsupported),并与交付方式(HttpFile / Hls 等)解耦。 ...
本文主要记录一类自托管媒体库(以 Octans 播放子系统为例)在 Web 与 Windows native/libmpv 播放链路上的排障方法:从创建会话、DirectPlay / HLS 分流、暂停恢复与 seek,到字幕资源、硬解回退与残留 window 清理。命令与路径已通用化,便于对照同类架构做定位。 ...
本文主要讲一类自托管媒体库(以 Octans 播放子系统为例)的转码支持矩阵读法:它回答什么、不回答什么,DirectPlay / DirectStream / Transcode 如何分层,以及客户端能力、媒体事实与服务端策略如何共同决定播放路线。重点是决策机制,而不是把整张能力表抄进文章。 ...
本文主要说明一类自托管媒体库(以 Octans 后端为例)在选用 PostgreSQL 作为可选数据库 Provider 时,如何完成安全部署、停服双向迁移与部署冒烟;同时划清破坏性重建(删除并重建整个业务库)的适用场景、数据影响与「无备份、无窗口计划绝不在生产执行」的边界。密码与主机一律占位。 ...
本文主要介绍在「媒体内容产品 + 管理后台」混合型前端(以 Octans Web 为例)里,如何做 UI 基座长期选型:候选如何比、为何不再把强预设组件库当视觉底座,以及落地后的实际栈形态。结论面向同类 Vue 3 产品可复用,不绑定某一仓库路径。 ...
本文主要说明自托管媒体库(以 Octans 为例)在媒体图片访问上的架构边界:谁推导 URL、谁做鉴权、HTTP 缓存与权限变更如何共处,以及 Signed URL 与「三层资产模型」相比为何更匹配家用 / 小团队私有化场景。重点是 CDN / 鉴权 / 缓存 的分层口径,而不是接口字段或迁移 runbook。 ...
本文主要说明自托管媒体库(以 Octans 播放子系统为例)在服务端 HLS 转码时,如何在软件、tonemap_vaapi 与 tonemap_opencl 之间做 tone mapping 选型:能力门禁、按动态范围分流的 Planner 逻辑、验证分层含义,以及「厂商 codec 矩阵 ≠ 本机已接线」的边界。设备节点以 /dev/dri/renderD128 一类占位符给出。 ...
本文主要说明自托管媒体库(以 Octans 播放链路为例)在「尽量 Direct Play、字幕不触发视频转码」前提下,如何把字幕识别、抽取与缓存放在服务端,把 WebVTT / ASS / PGS 等形态的实际绘制交给客户端;并厘清 full-cache、HLS sidecar delay 与烧录路线的边界,避免把排障问题误当成「再烧一遍就好了」。 ...
本文主要说明自托管媒体库在把刮削结果落到磁盘 NFO 时,应如何看待「标准」:Kodi 方言是事实母版、字段全集与默认可互操作子集不是一回事,以及为何宜用 standard / extended 双版本而不是「一份超集 NFO 打天下」。以 Octans 一类治理型媒体库为背景,结论面向 Kodi / Emby / Jellyfin 兼容心智,不展开某一实现的完整字段表。 ...
本文主要从职责边界角度梳理一类自托管媒体库后端(以 Octans 扫描 / 刮削 / 重命名 / 删除子系统为例):为什么必须从物理文件出发,如何把「文件事实」升维成「逻辑身份」,以及重命名与删除为何都要 Preview-first,并和扫描前自愈拆开。重点是主链怎么切、各段做什么与不做什么,而不是任务 DTO、正则细节或某次 API 字段表。 ...