Closed jinhua523 closed 2 weeks ago
尴尬,暂时没有测试设备,不过播放接口样式应该都是一样的来着,方便粘贴下 nginx 的日志吗?位于../nginx/log:/var/log/nginx
中的error.log
晚上我回去我抓取一下日志,早上我播放了几个视频,有的又突然可以了,但是拖拽进度条转圈,然后打开代码查看,发现只记录了凌晨2点多的日志,往后的都没有了
总共播放了三部,前面两部我都没尝试快进,所以不知道,是不是单纯我网络卡了,在杨戬那部电影里面,我快进了一下,就转圈了,原来是不是只记录到凌晨2点,是这日志的时间不太对哈哈哈哈,希望老哥看看,这里面有没有问题哈,多谢了
看了下日志,都是正常的,和客户端类型无关,因为用的服务端 API 都是一样的,这里猜测不知道是不是 alist sign 的问题或 115 的网络问题,可以尝试注释掉 clientSelfAlistRule 中的[2, strHead["115"], alistPublicAddr],试试看了,这样客户端将直接访问 115 的直链,而不是默认的经过 alist /d 地址再跳转一遍,假如注释后测试无用,可以恢复放开注释为默认行为
// 指定客户端自己请求并获取 alist 直链的规则,代码优先级在 redirectStrmLastLinkRule 之后
// 特殊情况使用,则此处必须使用域名且公网畅通,用不着请保持默认
// 参数1: 分组名,组内为与关系(全部匹配),多个组和没有分组的规则是或关系(任一匹配),然后下面参数序号-1
// 参数2: 匹配类型或来源(字符串参数类型),优先级高"filePath": 文件路径(Item.Path),默认为"alistRes": alist 返回的链接 raw_url
// ,有分组时不可省略填写,可为表达式
// 参数3: 0: startsWith(str), 1: endsWith(str), 2: includes(str), 3: match(/ain/g)
// 参数4: 匹配目标,为数组的多个参数时,数组内为或关系(任一匹配)
// 参数5: 指定转发给客户端的 alist 的 host 前缀,兼容 sign 参数
const clientSelfAlistRule = [
// "Emby for iOS"和"Infuse"对于 115 的进度条拖动依赖于此
// 如果 nginx 为 https,则此 alist 也必须 https,浏览器行为客户端会阻止非 https 请求
// [2, strHead["115"], alistPublicAddr],
];
const clientSelfAlistRule = [ // "Emby for iOS"和"Infuse"对于 115 的进度条拖动依赖于此 // 如果 nginx 为 https,则此 alist 也必须 https,浏览器行为客户端会阻止非 https 请求 // [2, strHead["115"], alistPublicAddr], ];不过,这里注释掉之后,infuse拖动进度条就会报错了
1.那这个更改是无用的了,最好还是恢复默认的使用
2.大概率和这个 issue 是相同的问题了,根源可能在 115 那边限制加载线程比较严格上, emby 网页版和所有的安卓客户端默认都是单线程加载视频的,所以没这个问题 https://github.com/bpking1/embyExternalUrl/issues/386
3.基于issues/386
再补充了一种兼容方案 5
https://github.com/bpking1/embyExternalUrl/issues/386#issuecomment-2423931434
感谢大佬的耐心回复,不过我和他一样上传带宽太小,放弃本地代理
有办法做到适配吗哥