前言 Link to heading

之前一直就听说可以将阿里云盘挂载到本地,从而搭建 Plex 影视库,刚好最近 115 网盘打折,会员 8 年 500 块,并且还可以 55 元购买 33T 的永久空间。并且早有耳闻 115 网盘获取资源很容易,于是我就心动了,经过一番调查,115 也可以挂载到本地来搭建 Plex 影视库,于是我便开始了行动,后续内容则是我利用刷入了 armbian 的 N1 和 115 网盘搭建 Plex 的过程的记录。

CloudDrive 挂载到本地 Link to heading

第一步利用 CloudDrive 将 115 网盘挂载到本地,在 ~/ 目录下执行 wget https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v0.5.11/clouddrive-2-linux-aarch64-0.5.11.tgz,然后执行 tar -xzvf clouddrive-2-linux-aarch64-0.5.11.tgz 以解压,然后执行 mv clouddrive-2-linux-aarch64-0.5.11 cd2 以重命名文件夹。

然后执行 sudo nvim /etc/systemd/system/cd2.service,内容修改为:

[Unit]
Description=cd2
After=network.target

[Service]
ExecStart=/home/zwyyy/cd2/clouddrive
Restart=always

[Install]
WantedBy=multi-user.target

并保存,然后执行 sudo systemctl enable cd2.servicesudo systemctl start cd2.service,这一步是为了将执行 clouddrive 程序添加到 Linux service 中,以保证它每次能开机自动启动。

执行 sudo apt install fuse3 以安装 fuse3,确保 fusermount3 命令可以执行。

之后浏览器打开 192.168.6.217:19798,选择将 115 网盘整个挂载到本地,结果如下图所示:

tx25VU6MQwYiBqm

到这里,就可以认为挂载完成了,顺带一提,这 CloudDrive 的永久会员有点太贵了,免费会员的限制也是真的多。

2024.06 更新,115 只能同时有一个 Linux 设备登录,即 VPS 与 NAS 上的 CloudDrive 只能有一个实际登录了 115。

安装并搭建 Plex Link to heading

Docker 安装 Plex Link to heading

我是通过 Docker 安装的 Plex,~/ 目录下执行 mkdir plex && cd plex,然后执行 nvim docker-compose.yml,将内容修改为:

version: "2.1"
services:
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - VERSION=docker
      - PLEX_CLAIM= #optional
    volumes:
      - /home/zwyyy/plex/config:/config
      - /home/zwyyy/plex/transcode:/transcode
      - /home/zwyyy/115/tv:/tv
      - /home/zwyyy/115/show:/show
      - /home/zwyyy/115/video:/video
      - /home/zwyyy/115/movies:/movies
    restart: unless-stopped
    mem_limit: 700m
    memswap_limit: 2000m

这里简单说明一下,PUID 和 PGID 是参照的 linuxserver/plex 的教程写的,volumes 这一栏的意思是将 /home/zwyyy/plex/config 目录映射到 docker 容器中的 /config 目录,依次类推,冒号之前的是宿主机本地目录,冒号之后的是容器目录。mem_limitmemswap_limit 分别限制了最大占用内存和 swap 区大小。

然后执行 docker-compose up -d 即可根据 docker-compose.yml 中的内容创建对应的 Docker 容器了。

至此,已经完成了 Plex 的安装。

配置 Plex Link to heading

浏览器打开 192.168.6.217:32400/web 开始设置 Plex,依次将资料库与对应的 Docker 容器中的目录绑定起来,电影对应 /movies,电视剧对应 /tv,其他影片对应 /video

下一步是尽量关闭 Plex 的转码,N1 刷的 armbian 没有 gpu 驱动,肯定是无法完成转码工作的,我本来也只是需要 Plex 作为一个影视库,提供一个比较美观的电影海报墙而已,硬解由我的本地客户端来完成。

要做的修改如下:

  1. Plex Web -> 质量 -> 视频质量,选择 最高清晰度
  2. Plex Web -> 播放器 -> 固化字幕 选择 仅图像格式
  3. 设置 -> 转码器 勾选 禁用视频流转码
  4. 设置 -> 资料库 勾选 当检测到更改时,启动局部扫描。资料库扫描间隔 设置为 每天

注意,如果运行 Plex Media Server 的设备与当前客户端不在同一个局域网,那么第一次配置时,需要运行 ssh -L 32400:localhost:32400 remote_username@remote_server_ip 执行端口转发,然后用 127.0.0.1:32400 去配置 Plex。

Plex 转码的相关设置 Link to heading

即使在上述设置中,禁用了 Plex 的视频流转码,但是当 Plex 客户端认为自己无法解码时,还是会触发服务端的转码,常见于有特效字幕、或者 TrueHD 7.1 音轨时。

经测试,对于音轨为 TrueHD 7.1 的视频,仅 m1pro 的 Plex 客户端可以解码视频,而无需转码,iPhone 14 以及红米 note 12 turbo,都会触发 Plex Media Server 的转码,视频流为直接串流,而音频仍需要转码。

据合理推测,如果是使用 infuse 客户端来播放 Plex 中的资源,应该是可以正常解码 TrueHD 7.1 而不需要服务端转码的。

三个设备的 Plex 客户端均能正常解码 DTS-HD MA 5.1 音轨的视频。

因此,如果想在 VPS 上搭建 Plex Media Server,收集电影资源时,尽量避开 TrueHD 7.1 音轨的资源,而选择其他音轨的资源。

115 资源收集 Link to heading

115 下载磁力链接确实挺快的,但是现在很多分享的资源都是走的阿里云盘,包括准备看的 IMDB TOP 250 大包,115 无法下载对应的磁力链接,倒是阿里云有人分享,但是从阿里云下载到本地再传到 115 明显不现实,而 CloudDrive 的秒传功能是会员专属,这时,我注意到了 Alist 也支持阿里云和 115 之间的秒传功能。因此尝试利用 Alist 将 阿里云盘中的资源复制到 115。

安装 Alist Link to heading

首先执行 docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest 来将创建并启动容器,然后执行 docker exec -it alist ./alist admin set your_passwd 来设置 admin 账户的密码。

挂载与处理 Link to heading

浏览器打开 192.168.6.217:5244,账户为 admin,密码为上一步设置的密码,然后点击 管理,按照 Alist 官方教程挂载 阿里云盘 OPEN115,我分别挂载到了 /aliopen/115 目录下,115 网盘建议使用 cookie 来挂载,扫码获取的 token 很容易失效。

注意,Alist 挂载 阿里云 OPEN 时必须 启用秒传

然后,在 Alist 的 webui 中,选择 /aliopen 目录下的文件或资源,右键复制到 /115 的对应目录下即可。

总结 Link to heading

完成上述操作之后,就可以用 Plex app 或者 infuse 观看 Plex 影视库中的电影和电视剧了,效果如下图所示:

XzAY2DlOIyQCqkR

HeXsOJ3CTjQA1bl

参考 Link to heading

CloudDrive 安装与运行

linuxserver/plex

Docker 安装 Alist

秒传