Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请添加使用基于alist生成的strm文件进行的反向代理302的使用说明 #23

Open
Sdongmaker opened this issue Nov 28, 2024 · 16 comments
Labels
wontfix This will not be worked on

Comments

@Sdongmaker
Copy link

既然功能中支持strm直接链播放,那如何使用strm文件进行配置呢?直接替代挂载网盘的目录?请添加详细一点使用说明可以吗?感谢!

@AmbitiousJun
Copy link
Owner

直接替代挂载网盘的目录就行
判断是 strm 后缀的文件,会直接读取文件里面的地址进行重定向

@Sdongmaker
Copy link
Author

Sdongmaker commented Nov 28, 2024

OK,再问一个小问题,alist访问地址能否填写cf加速的域名地址,我的alist和emby的服务器是分开部署的

@AmbitiousJun
Copy link
Owner

部署 go-emby2alist 的服务器和能正常连通 cf 就没问题

@Sdongmaker
Copy link
Author

Sdongmaker commented Nov 28, 2024

我的strm文件:http://3.14.##.229:5244/d/%E5%89%A7%E9%9B%86/%E7%BA%AA%E5%BD%95%E7%89%87/%5B%E5%91%A8%E6%9D%B0%E4%BC%A6%.2015.mp4
他在端口后面跟随的有"/d/ "分隔了实际路径 但是在config.yml文件并没有提到这一点。
config.yml文件的示例中是 :
# 路径映射, 将 strm 文件内的路径片段替换成指定路径片段
# 可配置多个映射, 每个映射需要有 2 个片段, 使用 [=>] 符号进行分割, 程序自上而下映射第一个匹配的结果
# 这个配置的映射是比较灵活的, 不一定必须按照前缀映射, 可以直接将地址中间的片段给替换掉
#
# 举个栗子
# strm 文件内容: https://test-res.com:8094/1.mp4, 替换结果: http://localhost:8095/1.mp4
# strm 文件内容: https://test-res.com:12138/test-id-12138.mp4, 替换结果: https://test-res.com:10086/test-id-12138.mp4
我不太清除emby服务器在本地中转时是否会自动去除路径中的“d”,我是否要在strm文件内容的路径中添加“d”
例如 :
# strm 文件内容: https://test-res.com:8094/d/1.mp4, 替换结果: http://localhost:8095/1.mp4
这是我的结构我计划将本项目部署在emby主机上使用
微信图片_20241128222407
抱歉,我的问题有点多。不管是否得到回答,我都非常感谢您的帮助,以及您对开源项目的贡献。

@AmbitiousJun
Copy link
Owner

你贴出来的这个strm映射配置的作用只是简单地把strm里边的地址做个替换而已,非必需的配置

本项目目前对strm的处理很简单直接,就是把strm里边的地址读取出来,也就是你开头贴出来的那个地址,然后给客户端响应重定向而已

然后另一个就是,如果你的emby媒体库里边都是strm,那config.yml中的alist配置就没有任何作用了,可以忽略,或者随便配一个。

最主要的就是emby服务器能连上strm内的地址,同时客户端也能连得上这个地址,其他没啥了,本项目主要还是服务于磁盘挂载形式的,对于strm能做的微乎其微

@wontdoanything
Copy link

作者您好,发现一个问题,在emby媒体库里设置了“共享的网络文件夹”后,这个项目的strm配置里重定向http路径就失效了,全部指向了共享的网络文件夹里设置的路径了,能否设置一个优先级,优先用strm文件指向的路径之类的

@AmbitiousJun
Copy link
Owner

作者您好,发现一个问题,在emby媒体库里设置了“共享的网络文件夹”后,这个项目的strm配置里重定向http路径就失效了,全部指向了共享的网络文件夹里设置的路径了,能否设置一个优先级,优先用strm文件指向的路径之类的

你是指如果 emby 通过网络共享文件夹读取的 strm 目录,最终重定向的地址会变成共享路径地址而不是 strm 里边的 http 地址了吗
我这边不好测试,你方便的话可以手动请求一下 playbackinfo 信息再把响应的 JSON 脱敏后发出来我看看

url:http://{your emby host}:8096/Items/{itemId}/PlaybackInfo?api_key={your api key}
method:GET

其中 itemId 是出问题媒体的 itemId,可以在 emby web 页面进到这个媒体的详情页,然后在浏览器地址里边就可以看到这个 id

@wontdoanything
Copy link

有些不一样, 是这样的
config文件配置关键处:
path-map:
- http://192.168.1.3:5244 => http://{公网IP}:55244
emby扫描的是strm文件
我的strm文件里是这样的:http://192.168.1.3:5244/d%2F115%2Ftv%2F%E5%8A%A8%E6%BC%AB%2F%E4%B8%87%E7%A5%9E%E6%AE%BF%20%282022%29%2FSeason%201%2F%E4%B8%87%E7%A5%9E%E6%AE%BF%20-%20S01E01%20-%20%E7%AC%AC1%E9%9B%86.mp4
实际指向的是我alist
emby电视节目配置共享文件夹smb://hyj:[email protected]/clouddrive/CloudDrive/115/tv
这么做原来的目的是户外,用infuse可以302方案,在家用coreelec播放时走本地smb

然后在infuse上播放资源时,出现的效果是
日志里解析的strm原来指向的http://{公网IP}:55244变成了smb的地址

itemid是9691

@wontdoanything
Copy link

重新指向成一个smb,还是strm,要是能直接指向到mp4,就好了

@AmbitiousJun AmbitiousJun added the wontfix This will not be worked on label Dec 2, 2024
@gldl137
Copy link

gldl137 commented Dec 3, 2024

我挂载的strm文件,是不只用改这两项就可以了
444

@AmbitiousJun
Copy link
Owner

emby 配置必填,alist 如果是 strm 的话可以不用,只针对于磁盘挂载的

@gldl137
Copy link

gldl137 commented Dec 3, 2024

我是用alist直接生成的,没用cd2,开始播放的时候要等几秒才能播放,正常播放后拖动都很流畅了,这是正常的吧

@AmbitiousJun
Copy link
Owner

docker 日志有打印重定向信息,可以正常播放就没问题

@gldl137
Copy link

gldl137 commented Dec 5, 2024

大佬,再请教一个问题,浏览器播放阿里的strm没问题,播放115的strm显示没有兼容的流,但是手机客户端播放两个网盘的strm都没问题

@AmbitiousJun
Copy link
Owner

115的链接有跨域限制,需要安装一下浏览器插件解决跨域,参考 #1

@gldl137
Copy link

gldl137 commented Dec 5, 2024

好的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

4 participants