15 KiB
15 KiB
Entryway Release Notes
手机版 v0.15.0 / TV 版 v0.14.0 - 2026-07-19
💿 双端播放内核与 ISO 能力增强 — 手机版和 TV 版接入可解析 DVD / Blu-ray 的自构建 mpv 内核、JNI 主标题读取与本地 Range 代理;同时补齐 TV 弹幕、MPV 字幕、直链播放性能和跨端视觉统一。
DVD / Blu-ray ISO 与双内核
- 实验性原盘 ISO 播放:支持未加密 DVD / Blu-ray ISO。手机版可识别已下载到本机的原盘文件;手机和 TV 可对支持 HTTP Range 的远程 ISO 建立可随机读取的播放链路。
- 原盘增强 mpv 内核:以兼容现有
mpv-android-lib 0.1.12API 的自构建 AAR 替换 Maven 版本,加入libdvdread、libdvdnav、libudfread与libbluray,覆盖四种 Android ABI,并保留 16 KiB 页面兼容。 - JNI 主标题代理:新增原生 JNI 模块,自动选择 Blu-ray 主标题或 DVD 最长标题,再通过仅监听
127.0.0.1、带随机令牌的 HTTP Range 代理交给 mpv 播放。 - 失败回退:上游不支持 Range、原盘解析失败或检测到加密时,在用户允许服务器转码的前提下自动回退到服务器媒体流。
- 内核路由统一:新增共享播放内核能力模型和选择策略;原始 ISO 不再误交给 ExoPlayer,普通视频仍按用户首选内核起播。
- 自动容错切换:ExoPlayer 遇到不支持的封装或解码器故障时,可保留进度并单次切换至 mpv;鉴权、网络和普通 I/O 错误不会触发无意义的内核循环。
- 安全退出与切片取消:切集、切内核和退出播放器会中止尚未结束的 Range 探测、头尾预取及原生打开,并按安全顺序释放 mpv、代理和原盘源。
手机版播放体验
- 默认内核设置:播放器设置新增 ExoPlayer / mpv 默认播放内核选择;播放器内临时切换不会覆盖默认偏好。
- Dolby Vision 软件回退:mpv 硬解循环新增
DV-SW模式,通过gpu-next和软件解码为部分显示异常的 Dolby Vision / HDR 文件提供会话级诊断回退。 - mpv 卡顿优化:减少主线程 JNI 属性读取,改进状态缓存、轨道刷新与字幕切换调度,降低起播、拖动和切换字幕时的停顿。
- 播放进度上报修复:严格保证 Start、Progress、Stopped 顺序,并在退出前捕获最终位置,避免快速暂停或销毁时向服务器回报错误进度。
- 首页过渡修复:从当前精选背景图底缘提取环境色,使 Hero、渐隐区和下方内容共享同一背景,消除轮播与媒体分区之间的色带接缝。
TV 弹幕与字幕
- 完整 DandanPlay 弹幕:TV 播放器新增自动匹配、动漫搜索、剧集选择、本地弹幕、缓存与重新匹配,视频播放不再等待弹幕网络请求。
- 遥控器弹幕设置:新增滚动 / 顶部 / 底部弹幕、字号、透明度、速度、显示区域、时间偏移、屏蔽词、重复合并、防重叠、热力图、简繁转换及 Canvas / SurfaceView 等设置。
- 双内核弹幕连续性:暂停、倍速、跳转、切集以及 ExoPlayer / mpv 切换均跟随实际播放时钟,保留已匹配弹幕和设置。
- MPV 字幕链路补齐:同步手机版的 CJK 字体、编码回退和 ASS 兼容配置;外挂字幕等待真实轨道出现后再选择,手动切换立即生效。
- 原生字幕格式保留:继续由 mpv/libass 渲染 ASS、PGS、VobSub 等格式,并改进服务器字幕索引到 mpv 轨道的精确映射。
- 播放结束判定修复:替换文件、停止和错误事件不再被误判为自然播放完成,避免错误跳集或重复上报。
直链、网络与兼容性
- 双端直链提速:手机和 TV 统一通过带鉴权的稳定播放入口解析最终 CDN 地址,减少重复探测,并避免把服务端凭据带到外部 CDN。
- 短效链接刷新:切换内核或重载播放器时可刷新过期的签名直链,降低长时间停留后起播失败。
- 子路径服务器修复:修复 Emby / Jellyfin 部署在
/emby等子路径时,服务端返回的根相对播放地址丢失前缀的问题。 - 日志脱敏与 UA 统一:播放探测日志不再输出完整鉴权 URL、Token 或服务端错误正文,手机和 TV 使用统一 Entryway User-Agent。
- 更新源容错:应用更新检查优先使用 Gitea Release,失败时回退 GitHub。
视觉与产品入口
- 跨端设计统一:手机和 TV 统一语义颜色、排版、卡片、焦点环、进度色和空间层级;TV 搜索、媒体库、详情、播放器菜单等页面同步调整。
- TV 登录页精简:扫码录入区域收敛为二维码与局域网扫码提示,减少无关说明。
- 双语产品官网:新增响应式中英文官网、下载入口、无 JavaScript 兜底、SEO / 分享元数据、无障碍规则和 NAS 部署配置;本次同步更新双端版本与下载地址。
兼容性与验证说明
- 不包含
libdvdcss、libaacs或libbdplus,仅支持未加密原盘。 - 远程 ISO 的源站必须正确支持单段 HTTP Range;不支持时需开启服务器转码。
- 未提供 DVD / Blu-ray 类型元数据的通用 ISO 不会猜测盘型,将走服务器回退链路。
- 原盘模块已通过 Range/JNI/回退策略单元测试和双端 APK 构建;真实设备上的 DVD / Blu-ray ISO 端到端样本验证尚待完成,因此本版本仍将该能力标记为实验性。
APK
- 手机版:
entryway-debug-0.15.0.apk - TV 版:
Entryway-tv-debug-0.14.0.apk
构建信息
- 手机版:
versionName 0.15.0,versionCode 34 - TV 版:
versionName 0.14.0,versionCode 33
手机版 v0.14.0 / TV 版 v0.13.2 - 2026-07-11
💬 手机版弹幕功能正式上线 — 接入 DandanPlay 弹幕匹配、加载、显示和完整设置体系,同时改善 MPV 字幕渲染与切换体验。TV 版本次无代码变更,继续提供 v0.13.2。
手机版弹幕
- 支持按文件哈希与文件名自动匹配,也可搜索动漫、手动选择剧集或载入本地弹幕。
- 完整设置集中到弹幕设置页,支持行数、字号、透明度、速度、显示区域、时间偏移、关键词屏蔽、重复合并、防重叠、热力图、简繁转换及 Canvas / SurfaceView 模式。
- 修复 SurfaceView 弹幕阻断播放器点击和手势的问题。
- 已匹配媒体复用持久化映射,候选详情并发获取,大体积 JSON 后台解析。
- 弹幕内容改用跟随播放器缓存上限的 LRU 缓存,仅超限时逐出,映射关系永久保留。
手机版 MPV 字幕
- 修复 Android 字体族配置,补充 CJK 回退、编码识别与 ASS 兼容参数。
- 字幕切换直接写入
sid,后台校验状态,减少切换时的界面卡顿。 - 保留 MPV/libass 对 ASS 特效和 PGS、VobSub 位图字幕的原生支持。
APK
- 手机版:
entryway-debug-0.14.0.apk - TV 版(本次无变更):
Entryway-tv-debug-0.13.2.apk
构建信息
- 手机版:
versionName 0.14.0,versionCode 33 - TV 版:
versionName 0.13.2,versionCode 32
v0.8.2 - 2026-04-26
手机版更新
- 首页与媒体库视觉重构:继续向 Hills 风格靠拢,优化首页精选轮播、我的媒体卡片、媒体目录标题入口和列表过渡效果,减少深浅主题切换时的突兀感
- 搜索页体验重做:将搜索页从海报轮播改为更轻量的文字推荐入口,并限制搜索结果只展示电影和剧集,避免直接展示到单集
- 概览页逻辑修复:媒体目录概览页恢复为展示电影/剧集层级,不再直接铺开所有最终单集;同时修复浅色主题下排序/筛选弹窗未选中项文字不可见的问题
- 点击热区优化:首页与目录概览页的影视卡片点击范围扩展到标题区域,减少只点海报才能进入详情的误操作
- 详情页与主题细节修复:修复剧集详情页分季海报底部异常灰色阴影,并统一部分页面在浅色/深色主题下的背景与文字对比
- GitHub 版本检查:设置页版本信息接入
Entryway_Release最新发布检测,当前版本一致时显示“已是最新版”,发现手机版 APK 更新时显示下载按钮并调用系统下载器下载
TV 版更新
- 新增 Entryway TV 正式模块:引入独立
tv-app,包名为com.entryway.tv,不再复用手机版布局外壳,借鉴 OpenEmby TV 界面并引入 Entryway 内核核心 - TV 登录与服务器录入:首次启动支持同局域网手机扫码录入服务器,成功添加后自动进入服务器,并保留服务器切换与新增入口
- 客厅端首页与详情体验:迁移并优化 TV 首页、媒体库、概览页、详情页与遥控器焦点效果,补充 Logo、深色模式标签对比度、继续观看标题格式和媒体库封面展示
- TV 播放器增强:接入 Entryway 的 Exo 播放解析链路,并在不破坏 OpenEmby 播放器 UI 的前提下接入
MpvPlaybackEngine作为第二内核,补齐左右键快进快退、进度条、暂停图标、顶部 OSD、菜单呼出、音轨/字幕/内核切换等体验 - TV 搜索页重做:新增遥控器全键盘搜索、二维码手机输入、服务器筛选与电影/剧集结果卡片展示,并修复焦点高亮、按钮裁切和浅色文字可读性问题
- TV 首页加载优化与缓存兜底:首页先展示轻量媒体库列表,再异步加载前几个库和完整库内容;完整刷新成功后写入本地缓存,网络异常时优先用缓存兜底
- TV 品牌与更新检测:应用名、Logo、UA、
X-Emby-Client与版本检查均切换为 Entryway TV,并指向Entryway_Release的 TV 版 APK
APK
- 手机版:
entryway-debug-0.8.2.apk - TV 版:
Entryway-tv-debug-0.8.2.apk
构建信息
versionName:0.8.2versionCode:25
v0.8.1 - 2026-04-23
首页与服务器详情页加载优化
- 媒体库两段式加载:首页和服务器详情页先快速展示前 6 个媒体库,随后后台异步补齐完整媒体库列表,避免首屏等待过久或后续媒体库完全不显示
- 精选轮播提速:精选轮播不再强制等待 Logo 与背景图全部解析完成;背景图可用后即展示内容,Logo 后续加载补齐
- 轮播兜底展示优化:当条目没有 Logo 或 Logo 加载较慢时,使用片名文字兜底,减少空白骨架停留时间
- 图片预取降噪:收紧首页图片预取并发和首批预取数量,降低进入首页时的网络与解码竞争,让关键内容优先加载
- 精选数据轻量化:精选轮播请求数量从 10 条缩减为 6 条,减少随机推荐和首屏图片解析成本
播放与调试链路收敛
- 起播诊断写盘关闭:默认关闭 debug 包中的播放诊断文件写入,避免起播阶段产生额外 I/O
- 既有播放修复保留:延续 v0.8.0 的 NextEmby 稳定流入口、认证参数补齐、Exo 外挂字幕修复和字幕浮窗文案修正
构建信息
versionName:0.8.1versionCode:24
v0.8.0 - 2026-04-23
▶️ 播放链路与 NextEmby 兼容性增强
- 起播请求精简:生产环境移除额外的
getPlaybackInfoRaw()诊断请求,减少起播时无意义的接口往返 - 详情快照复用:详情页、下载页和投屏链路优先复用已有
BaseItemDto,显著降低播放器兜底getItemById()的触发频率 - Emby 稳定流入口:Emby / NextEmby 播放改为优先使用稳定的
Videos/{id}/stream入口,并保留认证信息,避免被服务端识别为无效身份预加载 - 熔断快速止损:识别
请重新登录、禁止回源、防穿透等 NextEmby 熔断信号后立即停止放大重试,减少短时间重复请求
💬 外挂字幕与播放器可用性修复
- Exo 外挂字幕修复:外置字幕改为优先使用标准
Videos/.../Subtitles/.../Stream.xxx地址,并对ass/ssa/subrip做更稳的格式请求策略 - mpv 外挂字幕支持:新增 mpv 运行时外挂字幕注入,补齐此前部分
srt/sub/ass无法显示的问题 - 字幕入口统一鉴权:Exo 与 mpv 的外挂字幕链路统一补足服务端可识别的鉴权参数,避免字幕流单独失败
🗂️ 详情页与目录体验优化
- 媒体目录排序修复:首页和服务器卡片进入的详情页,季列表和剧集目录会跟随用户默认排序偏好,不再退回 Emby 全局默认顺序
- 播放器浮窗文案修正:字幕切换浮窗现在正确显示“X 个字幕”,不再误用音轨数量文案
🛠️ 构建与环境稳定性
- Gradle JDK 固定:在项目级固定
org.gradle.java.home,修复 Gradle 偶发误用不完整 JRE 导致的jlink构建失败 - 调试包重新发布:本次版本升级为
0.8.0,versionCode提升至23
🎨 UI 逻辑整体重构
- 多服务器架构:首页(Home)改为动态服务器切换器,服务器详情页(Server Detail)使用静态头部,两者职责分离
- 私有服务器支持:新增服务器访问控制,支持标记私有服务器,元数据(
isPrivate、displayName)通过upsertSavedServer()持久化 - 导航栏优化:非 Home/Detail 页面强制显示底部导航栏,修复 FAB 定位和标题在浅色/深色模式下的可见性问题
🔗 修复 302 重定向播放问题
- Nextemby / Redia CDN 直连播放:全面适配 Nextemby 反向代理的 302 重定向机制,实现 STRM 文件通过 CDN 加速的直连播放
- Auth 认证修复:将所有 API 请求的认证前缀从
Emby统一为MediaBrowser,匹配 Nextemby 的拦截要求 - PlaybackInfo 改为 POST:使用 POST 请求 + DeviceProfile 请求体获取播放信息,与官方客户端行为一致
- 取消 URL 预探测:移除播放前的 URL 探测逻辑,直接将流媒体 URL 传递给 ExoPlayer,由播放器自行处理 302 重定向,与 NipaPlay 等成功客户端的实现方式对齐
- 身份验证参数:在流媒体 URL 中携带
UserId和MediaSourceId,确保 Nextemby 能正确识别用户身份
🎬 修复 4K 高码率视频播放闪退问题
- 内存溢出修复:修正 ExoPlayer 缓冲策略,将
prioritizeTimeOverSizeThresholds从true(时间优先)改为false(大小优先),并设置 150MB 内存缓冲上限,防止 80Mbps+ 4K 视频因缓冲过大导致 OOM 崩溃 - 协程生命周期修复:修复播放器界面位置更新协程在 ExoPlayer 释放后仍运行导致的
CoroutinesInternalError崩溃 - CDN 连接增强:优化 HTTP 客户端配置,增加读取超时(60s)、启用连接失败自动重试、配置连接池(4连接/5分钟保活),提升大文件流媒体播放的连接稳定性
📋 其他改进
- 播放器位置更新频率从 100ms 调整为 250ms,降低 CPU 占用
- 优化服务器列表管理逻辑,支持服务器显示名称自定义