夸克网盘+AList+Emby自动NAS追剧方案打造
好久没有给大家分享NAS折腾的一些心得了,如果大家关注过我之前的文章,已经自主搭建了一整套全自动的豆瓣电影追影NAS系统。
这套系统我自己重装过三次,一次是硬盘损坏系统崩溃,一次是自己手欠权限重置,还有一次就是将系统重建到了PVE平台,主体为企业用的超微X11SSH-F服务器主板,硬盘更换为了SAS企业盘,机箱是闲鱼购买的60块的英亚海淘机箱。除此以外,这套系统真是“稳如老狗”,加上现在所有硬件都是企业级配件,运行了一年多毫无问题;缺点就是服务器主板非常耗电,为此不得不利用IPMI脚本设置了NAS自动开关机。
但是像我们这种搞IT运维的牛马经常会遇到这种困境,系统本身很稳健,但是用户需求不停改变,让我们在后台不断地擦屁股。
我的这套系统本意是自动下载4K电影电视文件到家用存储,然后在电视机上播放,享受极致的视听体验。但是我老婆其实对于画质并没有特别在意,1080p的高清视频也可以满足要求;她更希望提升效率,就是一旦有了想看新片的念头,马上可以打开电视机播放。如此我的这套系统的弊端就显现出来了,添加电影电视到想看,系统自动下载完成往往需要几天甚至更长的时间(基于种子的活跃程度)。
前几天去亲戚家里,发现他们都是用安卓电视盒子加装第三方APP看电影的。我研究了一下机制,APP是自动加载网盘资源转存到个人账号播放的,无需家庭NAS存储中转,节省了大量时间。缺陷就是极不稳定,资源甚至APP都有可能被封失效。
那么有什么办法将网盘资源直接挂载到NAS系统里直接播放呢?
其实是有的,比如通过AList。Alist支持多种常见网盘,可以转化为WebDav,让用户可以不受APP的限制,直接访问网盘上的文件。
具体实现方案如下:
首先安装AList Docker。
mkdir -p /etc/alist
docker run -d
--name alist
--restart unless-stopped
-p 5244:5244
-v /etc/alist:/opt/alist/data
-e PUID=0
-e PGID=0
-e UMASK=022
xhofe/alist:latest
容器起来后,AList 会自动生成一个随机管理员密码,可以通过命令或者在Portainer等Docker管理平台上查看,这个密码后续可以在系统里修改。
电脑浏览器打开夸克网盘并登录账号,比如这个网址夸克网盘。
点F12进入Edge浏览器的开发者工具,刷新网页;点击左侧的list,查看右方标头-Cookie,把对应的登录Cookie信息拷贝。

浏览器访问默认5244端口,打开AList控制端,点击Add。
选择Driver为夸克Quark,Mount Path可以随便起个名字。

勾选Enable sign,并填入之前拷贝的Cookie。

可以看到添加的storage已经可以正常使用了。

点击Home回到主页即可看到添加的文件夹,点开即可看到同步的视频文件。

但是我发现网页上直接播放视频文件非常卡,和在夸克APP里的体验不可同日而语。

那么这究竟是AList的问题,还是我网速的问题呢?
做一个简单的测试,右键点击画面,在菜单里选择Video Info。

在Video url里可以得到视频的直接地址,选择并拷贝。

浏览器打开一个新窗口粘贴url观察到下载速度只有几十kb,显然是夸克对免费用户限速了。
于是我付费了夸克svip会员,首月3元,刷新页面重新测试。下载速度2MB左右,效果立竿见影,这个速度对于播放1080p的影片是可以胜任的。

看来要想用AList直通网盘使用,绕开APP白嫖,没有会员应该是没办法实现的。
至此浏览器访问AList播放视频应该是没问题了,但是要利用Apple TV上的Emby等APP来直接播放还需要额外的步骤。
常规的办法是把AList的WebDav像本地存储一样挂载到宿主机上,直接读取。但是要折腾容器内的FUSE挂载权限问题,Emby Docker需要删除重建。理论上来说配置文件不变,数据并不会丢失。
不过我嫌麻烦,要是把我的破解版Emby搞崩溃了就得不尝试了,于是使用了另外一种方法。
把视频地址封装到strm文件中,Emby直接识别并且播放。

当然转制也有工具可以自动完成,这里使用的是AutoFilm。
不过,我的环境相对比较复杂,还需要做一些额外的工作。
我的Emby是安装在PVE主机上的,IP地址是192.168.1.88,smb存储也是安装在PVE上的本地存储;AutoFilm的容器会安装在PVE上的虚机192.168.1.108中。
我的目标是要让AutoFilm生成的strm文件自动保存到PVE的smb存储,由Emby直接读取。
先到宿主机192.168.1.108里操作,安装CIFS客户端。
apt update
apt install -y cifs-utils
创建挂载点。
mkdir -p /mnt/tv-strm
创建密码凭证文件,避免明文。
nano /root/.smbcredentials
内容是PVE的smb存储访问的账号密码:
username=smb用户名
password=smb密码
设置密码凭证文件的可读权限。
chmod 600 /root/.smbcredentials
把存储挂载,3.0的samba协议版本。
mount -t cifs //192.168.1.88/sm-nas /mnt/tv-strm -o credentials=/root/.smbcredentials,vers=3.0
验证读写没有问题之后,写到fstab的启动文件中。
nano /etc/fstab
添加
//192.168.1.88/sm-nas /mnt/tv-strm cifs credentials=/root/.smbcredentials,vers=3.0,_netdev 0 0
创建AutoFilm容器:
docker run -d
--name autofilm
-v /root/autofilm/config:/config
-v /mnt/tv-strm/strm:/media
-v /root/autofilm/logs:/logs
--restart unless-stopped
akimio/autofilm
AutoFilm没有UI界面,需要在配置文件里修改设置。
nano /root/autofilm/config/config.yaml
Alist2StrmList:
- id: 1
url: http://192.168.1.108:5244
username: 你的AList账号
password: 你的AList密码
source_dir: /Quark
target_dir: /media/Quark
subtitle: false
img: false
nfo: false
url_encode: true
overwrite: false
cron: "30 23 * * *"
Settings:
logs_path: /logs/AutoFilm.log
log_level: INFO
注意cron: "30 23 * * *"这里我设置了每天23:30运行AutoFilm任务,自动生成strm文件。
修改配置后,需重启AutoFilm的容器。
docker restart autofilm
正好老婆要看网飞最新日剧《气体人 第一号》,翻拍自1960年的特摄片。演员阵容非常强大,小栗旬、苍井优主演,还有竹野内丰客串。

将夸克网盘上搜索到的资源转存到自己的网盘中,然后等待AutoFilm自动转存为strm文件,类似这样。

然后在Emby里添加存储路径,扫描媒体文件之后,就能在Emby里播放了。

但是电影信息无法自动刮削,手工填入imdb的id后刮削成功。

H264的1080p高清资源在电视机上观看效果已经非常令人满意了,我是个不太喜欢看慢节奏日剧的人,网飞版的《气体人》节奏更名快,改编得比较成功,没有辜负我的这番努力。

小树熊
校验提示文案
弗老大
校验提示文案
苹果先生
校验提示文案
怡然自得210
校验提示文案
壹加壹加
校验提示文案
高小喵
校验提示文案
乐玲玲
校验提示文案
姐搓澡不
校验提示文案
我是小猫猫
校验提示文案
sunhawk
校验提示文案
人生就是道选择题
校验提示文案
我是小猫猫
校验提示文案
人生就是道选择题
校验提示文案
姐搓澡不
校验提示文案
乐玲玲
校验提示文案
高小喵
校验提示文案
sunhawk
校验提示文案
壹加壹加
校验提示文案
怡然自得210
校验提示文案
苹果先生
校验提示文案
弗老大
校验提示文案
小树熊
校验提示文案