Octans-Android Media3实验路径能力边界
本文是 Octans Android 播放内核演进 的能力边界附录:在「默认 libmpv + Media3 ExoPlayer 本地实验」已定之后,把实验内核上三条有独立证据的收口写清楚——外置音轨不进产品主线、视频轨道允许超出声明能力尝试播放、对白增强只保留一条低延迟图。目标是给读者一张可对照的实验路径能力表,而不是再讲一遍双内核为什么打开。 ...
本文是 Octans Android 播放内核演进 的能力边界附录:在「默认 libmpv + Media3 ExoPlayer 本地实验」已定之后,把实验内核上三条有独立证据的收口写清楚——外置音轨不进产品主线、视频轨道允许超出声明能力尝试播放、对白增强只保留一条低延迟图。目标是给读者一张可对照的实验路径能力表,而不是再讲一遍双内核为什么打开。 ...
本文主要介绍一类媒体库产品在多端客户端上的总路线:为什么不能把「跨平台 UI 框架是否足够好」当成顶层问题;为何应坚持 Web 做基线、各端原生 UI、各端 native 播放;以及协议、能力上报与服务端 fallback 哪些可以共享、哪些必须按平台落地。 ...
本文主要介绍 Octans Android 客户端播放内核从「LGPL libmpv 单内核」到「默认 libmpv + Media3 ExoPlayer 本地实验」的选型与演进过程,以及 HTTPFILE / HLS、字幕、硬解等有证据支撑的能力边界。讨论的是决策可被 supersede 的工程取舍,而不是一套永恒正确的播放器教条。 ...
本文主要介绍 Octans Windows 客户端为何不能直接复用服务端 full FFmpeg,而要单独维护一条受控 LGPL libmpv 播放 runtime:许可证边界、动态链接与 source offer / SBOM 口径、本地播放配置,以及客户端能力如何上报给服务端做 DirectPlay / HLS 规划。讨论的是可 supersede 的工程取舍,不是法律意见,也不是已全量上线的发布承诺。 ...
本文主要说明自托管媒体库(以 Octans 一类播放子系统为例)在协商 DirectPlay / DirectStream / Transcode 时,为何「能解码」不等于「能正确显示」:动态范围与色彩管线应作为独立事实进入 Planner,DirectStream 的视频 copy 不能自动修 HDR,tone mapping 属于完整转码,以及 Dolby Vision 为何必须按 profile / fallback 保守处理。 ...
本文主要从架构边界角度梳理一类自托管媒体库(以 Octans 播放子系统为例):播放为何从 Catalog / 任务系统里拆出来,服务端与客户端各管什么,以及 PlaybackSession、Planner、DirectPlay / HLS 交付如何构成当前 Web 主链。重点是职责与名词,而不是接口字段大全。 ...
本文主要把一类自托管媒体库(以 Octans 播放子系统为例)的播放能力决策写成可复用的 Planner 模型:输入不是「codec 能不能播」的布尔判断,而是客户端能力、媒体事实与策略的交叉求解;输出是 DirectPlay / DirectStream / Transcode(及无法成计划时的 Unsupported),并与交付方式(HttpFile / Hls 等)解耦。 ...
本文主要记录一类自托管媒体库(以 Octans 播放子系统为例)在 Web 与 Windows native/libmpv 播放链路上的排障方法:从创建会话、DirectPlay / HLS 分流、暂停恢复与 seek,到字幕资源、硬解回退与残留 window 清理。命令与路径已通用化,便于对照同类架构做定位。 ...
本文主要讲一类自托管媒体库(以 Octans 播放子系统为例)的转码支持矩阵读法:它回答什么、不回答什么,DirectPlay / DirectStream / Transcode 如何分层,以及客户端能力、媒体事实与服务端策略如何共同决定播放路线。重点是决策机制,而不是把整张能力表抄进文章。 ...
本文主要说明自托管媒体库(以 Octans 播放链路为例)在「尽量 Direct Play、字幕不触发视频转码」前提下,如何把字幕识别、抽取与缓存放在服务端,把 WebVTT / ASS / PGS 等形态的实际绘制交给客户端;并厘清 full-cache、HLS sidecar delay 与烧录路线的边界,避免把排障问题误当成「再烧一遍就好了」。 ...