之前整理了媒体库2.0的思路,基本上家庭自用已经没什么问题,接下来的折腾都是非必要的,有很多优点,但是相对来说,配置复杂度更高了,可能遇到的问题也更多了,结合了很多社区资料以及自己对相关技术的学习和了解,借助GPT,慢慢完善了我的媒体库3.0方案,提升比较明显的地方在于使用302后,不再依赖家中的宽带上行,在哪里都能流畅追剧.

0x04 媒体库3.0

使用strm后,扫库速度提升明显,但是因为最终播放的时候,还是需要emby去请求和下载资源给客户端播放,在局域网倒是没什么问题,但是一出门,资源在家中通过emby下载后,还要通过上行到客户端,速度没法保证.

通过学习emby的api、抓包几个常用客户端的接口请求分析,发现只需要在特定的请求发生时,拦截并获取该媒体的strm指向地址,并通过302机制重定向回去,具体细节不赘述;这里的核心更在于,使用Alist,可以通过302把网盘的媒体下载地址直接给客户端去加载,脱离了中间商(家里宽带)赚差价.

基于我AutoSymlink的云端strm方案,我整合了一个docker镜像,可以一行命令完成部署:

1
2
3
4
5
6
docker run -d \
--restart always \
-e UPSTREAM_HOST="http://172.17.0.1:8096" \
--name media302 \
-p 8090:8090 \
ilovn/media302:latest

这里面UPSTREAM_HOST指向的是你的emby服务端,本地监听8090端口,你还可以使用你的前置服务(如nginx、caddy等),实现http/https的访问,中间过程完全忽略,只要确保这个docker能访问你的emby和alist即可,你的alist也可以藏在内网之中.

在你的客户端使用这个镜像的端口即可,media302仅仅处理需要获取媒体资源的请求,其他请求全部转发emby服务器了,一分钟,就能在媒体库2.0的基础上,构建出了媒体库3.0,真正实现随时随地流畅观影.

0x05 备用302

在我自己构建这个302镜像之前,github上其实有nginx的302方案,比较通用,大家可以参考和部署https://github.com/bpking1/embyExternalUrl,因为部署了media302后,我就把这个删掉了,就不整理了.

0x06 多服务器同步等 – to be continued

后面还会整理如何家庭nas完成数据刮削,同步vps,以vps为主力服务器使用等一系列配置,抽空再更新吧.