导入了“饭太硬”的配置以及 fanmingming ipv6 直播源,手机网络支持 ipv6 。
测试表现如下:
1. 在没有开启 clash meta 的情况下,正常播放。
2. 开启 clash ,并设置 ipv6 和 dns ipv6 的覆写,浏览器访问
ipw.cn ,看到是有 ipv6 的地址的。但是 tvbox 并不能正常播放 ipv6 的源,clash 的日志里看不到任何关于这些源的 log 。
3. clash 设置同上,直接将 ipv6 源复制进 miui 的系统浏览器,可以正常播放。
4. 在电脑的 mumu 模拟器上安装 tvbox ,导入相同的配置,在宿主机上开启 clash 的 tun 模式和 ipv6 ,也同样不能播放。
由于 tvbox 是开源的,源码来自
https://github.com/takagen99/Box ,本着自己动手丰衣足食的原则,于是尝试 clone 下来 debug 了一下,经过一上午艰苦卓绝的单步跟踪,发现最后错误似乎发生在了 native 层,在开启 ijk 的 debug log 后,发现 native 层的播放器对 ipv6 源报了 no route to host 的错。然后我想换个播放器试试,于是按图索骥,发现软件会优先使用配置文件中定义的播放器,于是硬编码使用 exo 播放器,此时可以正常播放了,至此可以初步推断可能是 ijk 的问题。
不过这份源码似乎修改了原版的 ijk ,并没有提供修改后的源码,只丢了几个 so 文件在那里。鉴于我并非安卓开发,对于 jni/C 开发更是一窍不通,想要修复似乎不是一件容易的事情(谁知道呢,万一我某个环节没做对导致以上的推断全是错的呢),所以想厚着脸皮前来求援,有没有大佬愿意挑战一下(用爱发电)尝试修复,我愿祝您下半年跳槽薪资翻番。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1041690
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.