视频加载失败

ElderTV 1.1.2:关掉安全拦截也搜不到片,原因在插件进程

2369 字
12 分钟
ElderTV 1.1.2:关掉安全拦截也搜不到片,原因在插件进程
ElderTV 1.1.2:关掉安全拦截也搜不到片,原因在插件进程

1.1.1 加了“报告问题”和应用内更新,没有单独写文章。这一版的主要问题就是通过“报告问题”发现的:加载了饭太硬的订阅,也关掉了安全拦截,搜什么都没有结果。

这一版修了这个问题;把高级设置重新排成一屏,并把安全拦截的入口放到了设置页;确认框的按钮配色也改了;另外从这一版开始,同时发 32 位和 64 位两个安装包。

下面的截图都来自同一台雷鸟电视(Android 11,32 位)。

关掉安全拦截后,搜索还是没有结果#

报告上来的日志里,只有搜索开始的记录,没有任何一个站返回结果,也没有报错。报告自动带上的错误是一条 JSONException。查下来,它来自开机后的更新检查:第一条中转线路连接超时 30 秒,返回空内容,解析时报的错,随后程序自动换了下一条线路。跟搜索无关。

真正的原因在插件进程,这个进程的日志不会进到“报告问题”的记录里。连上电视看系统日志,搜索那一刻插件进程连续报:

dlopen failed: couldn't map ".../cache/.ftyfnw2qy28qkli5" segment 1: Operation not permitted

第一,这个订阅的每个站都要加载原生库。 饭太硬的插件包里,每个站的代码都套了一层“守卫”。守卫先加载插件包里自带的原生库(ftyguard_v7.so / ftyguard_v8.so),再用它解开真正的爬虫代码。原生库加载不了,每个站都返回空结果。

第二,插件进程本来就禁止加载原生代码。 1.0.3 起,插件在单独的进程里运行,进程启动时会加一层系统级限制:不能启动其他程序,不能映射可执行内存。加载原生库正需要映射可执行内存,所以被挡下了。

第三,安全拦截开关只管扫描,不管这层限制。 1.1.0 加的开关,关掉后只是插件不再经过扫描;进程这层限制始终都在。所以对这类订阅来说,开关开着关着结果一样。

改法:关掉安全拦截后,插件进程允许加载原生库。其余限制不变:仍然不能启动其他程序,不能给其他进程发信号,也不能读写其他进程的内存。这层限制在进程启动时加上,之后撤不掉,所以切换开关时会结束插件进程,下次使用时按新设置重新启动。

代价是:关掉安全拦截以后,插件里的原生代码能做的事更多,也更难检查。这一项只在你主动关闭安全拦截时生效,默认还是开着。关闭前的确认框里也写明了这一点。

改后同一个订阅、同一台电视,搜“蒸蒸日上”,第一个结果汇总了 44 个源:

eldertv-112-search-after
eldertv-112-search-after

另外,“报告问题”上传的记录现在会附上插件进程最近 200 条警告和错误(同样会去掉网址参数、IP 等信息),下次遇到这类问题,从报告里就能直接看到原因。

高级设置排成一屏#

改前的高级设置分三列,第一列有 8 项,要往下翻才看得到最后几项。安全拦截的入口不在这一页,藏在“站点屏蔽”的弹窗底部。

eldertv-112-settings-before
eldertv-112-settings-before

eldertv-112-settings-before-scroll
eldertv-112-settings-before-scroll

现在分成四列:片源配置、片源管理、播放排查、维护,每列最多 5 项,一屏能看全。安全拦截放在“片源管理”里。每一项的当前设置写在名称下面,比如安全拦截下面写“关:全部放行”,直播来源下面写“只用直播地址”。

eldertv-112-settings-after
eldertv-112-settings-after

这一页在电视上改了两次才定下来:

  • 第一次把当前设置放在名称右边,列窄了以后只剩“已…”“只…”,看不出是什么。后来改成放在名称下面。
  • 格子高度一开始按 72dp 设计,这台电视上实际占了 144 像素,第 5 行超出了屏幕底部。现在改成 60dp。

点播地址和直播地址太长时,中间部分会被省略,只显示开头和结尾。要看完整地址,可以点进去看。

搜索为空时可以直接关闭安全拦截#

搜索结束后没有结果,并且有站被安全拦截挡住时,结果那一行旁边会出现“关闭安全拦截”按钮,遥控器焦点会自动落在上面。点了先弹出风险确认,确认后会自动重新搜一遍。

这个按钮还没在电视上实际看到过:测试时安全拦截已经是关着的,这种情况下按钮不会出现。

确认框的按钮#

以前确认框右边的按钮平时也是亮的,焦点停在“取消”上时,看起来像是右边那个被选中了。现在两个按钮平时一样暗,只有遥控器选中的那个变亮:

eldertv-112-dialog-cancel
eldertv-112-dialog-cancel

eldertv-112-dialog-confirm
eldertv-112-dialog-confirm

开始发 64 位安装包#

有的电视是纯 64 位系统,装不了 32 位安装包。从这一版起,每次同时发两个包:

  • armeabi-v7a:32 位,大多数电视装这个就行
  • arm64-v8a:64 位,装 32 位包提示“不兼容”时装这个

两个包签名相同,可以互相覆盖安装。应用内更新会按你装的那一种继续更新。64 位包还没在 64 位电视上装过,我手上这台雷鸟只支持 32 位。

这一版还带上了几项之前没发的改动#

这几项在 1.1.1 之后就写好了,这次一起发出:

  • 直播地址可以单独设置:设置里有“直播地址、直播来源、直播地址历史”三项。直播来源可选“只用直播地址”或“直播地址+点播”;没填直播地址时,照旧用点播配置里的直播。
  • 扫码配置页:电视上的二维码以前打开的是上游页面的“弹幕”标签,现在打开新的配置页,点播和直播分开推送。
  • 网页控制台改版:分成总览、点播、直播、设置四页,手机上也能用。聚合直播会把各个列表按频道名合成一张表,可以只保留精选的频道,也可以调整顺序和分组。

这几项在模拟数据下走通过,电视上的设置项和扫码页也用过;合成频道表和精选频道还没在真实订阅下完整测过,见下面的表。

剩余问题和进度#

问题现状下一步
64 位安装包只确认了构建、签名和架构,没在 64 位电视上装过找一台 64 位电视或盒子实装
从 1.1.1 应用内更新到 1.1.2第一次真正走这条路;雷鸟的系统安装器会不会拦截还不知道在电视上从 1.1.1 实际更新一次
聚合直播合成频道表、精选频道模拟数据下走通;真实订阅下的频道数、内存和耗时还没有数据用真实订阅跑一次,记录耗时和频道数
斗鱼、虎牙两个 js 站打不开报 'pdfh' is not defined,是 js 运行环境缺函数补上这个函数后再测
搜索为空时的“关闭安全拦截”按钮已实现,电视上没触发过开着安全拦截搜一次被拦的站
“报告问题”自动带上的错误不准现在取的是记录里最后一个异常,常是后台的无关报错(比如这次的更新检查超时)只在闪退时附带异常,其余时候不附带
gh-proxy.com 上的 32 位更新清单还是旧版中转站缓存了 1.1.1 的清单;应用会先走 ghfast,影响不大等缓存过期后再核对一次

下载#

最低要求:安卓 7.0(Android 7.0)及以上。大多数电视和盒子都满足,安卓 7.0 以下的老设备装不上。

复制到浏览器打开,前两个是中转地址,国内一般能直接下。

32 位(大多数电视装这个,约 99MB):

线路一: https://ghfast.top/https://github.com/riowang88/ElderTV/releases/download/v1.1.2/ElderTV-1.1.2-armeabi-v7a.apk

线路二: https://gh-proxy.com/https://github.com/riowang88/ElderTV/releases/download/v1.1.2/ElderTV-1.1.2-armeabi-v7a.apk

64 位(装 32 位提示不兼容时用,约 114MB):

线路一: https://ghfast.top/https://github.com/riowang88/ElderTV/releases/download/v1.1.2/ElderTV-1.1.2-arm64-v8a.apk

线路二: https://gh-proxy.com/https://github.com/riowang88/ElderTV/releases/download/v1.1.2/ElderTV-1.1.2-arm64-v8a.apk

GitHub 原地址: https://github.com/riowang88/ElderTV/releases/tag/v1.1.2

中转站是第三方的,不归我管,一条打不开就换另一条。

装法:

  1. 下载 APK,拷到 U 盘,插到电视上
  2. 用电视的文件管理器打开,提示未知来源就去设置里允许
  3. 装好后在“设置 → 高级设置 → 点播地址”填片源地址,或者打开聚合

已经装了 1.1.1 的,开机后首页右上角会显示“有新版本”,点它就能在应用里更新;也可以直接覆盖安装。更早的版本直接覆盖安装。观看记录都会保留。

ElderTV 不内置任何片源,地址需要自己填。

ElderTV 按 GPL-3.0 发布,对应的源码压缩包在 GitHub 原地址的 Release 页面里。

到目前为止,ElderTV 只在这一台雷鸟电视上测试过。其他电视能不能正常用,还没有数据。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

ElderTV 1.1.2:关掉安全拦截也搜不到片,原因在插件进程
https://wtblog.wang/posts/04-eldertv-1-1-2/
作者
Riowang
发布于
2026-11-05
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Riowang
折腾 NAS 和家里的电视。
公告
博客已迁移到新主题,ElderTV 的版本说明和教程都放在「ElderTV」分类。
分类
标签
站点统计
文章
38
分类
7
标签
9
总字数
67,810
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Cloudflare Workers
博客版本
Firefly v6.16.9
文章许可
CC BY-NC-SA 4.0
文章目录