qinfengge

qinfengge

醉后不知天在水,满船清梦压星河
github

使用Alist和EMBY打造低成本个人影视库

其实之前也写过 emby + google drive 的文章,但是时过境迁。
Google drive 把教育盘和团队盘都几乎扬完了,TOS 也越来越严格,转存越来越麻烦。
OneDrive 则根本没有转存这一功能,只能本地上传。

直到阿里云盘异军突起,国内优化,社区活跃(指有很多 telegram 分享频道),再加上阿里云盘 OPEN 开放了 API,几乎完美。

话不多说,这篇博客将指引你使用 Alist 添加阿里云盘,rclone 挂载 webdav 并使用 emby 刮削阿里云盘里面的资源。

安装 Alist 及配置阿里云盘#

官方文档已经很详细了
推荐使用 docker 安装

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

访问 ip:5244并使用管理员账号及密码登录

配置阿里云盘的官方文档也很详细
主要是驱动选择阿里云盘 OPEN,然后配置下刷新令牌
前往:https://alist.nn.ci/tool/aliyundrive/request
使用阿里云盘手机客户端扫码登录可获取刷新令牌

注意事项
WebDAV 策略 请选择本地,webdav 不支持重定向
如果未设置或设置错误,emby 可以刮削,但进入资源库会一直转圈
相关 Issues

image

Rclone 挂载 webdav#

sudo -v ; curl https://rclone.org/install.sh | sudo bash

安装完成后,使用 rclone config 新建配置
选择 webdav 并按要求配置即可
你可以查看下面的文章进行配置
群晖 / Linux 挂载阿里云盘实现 Emby 播放,打造属于自己的家庭影院!

image

配置完成后使用下面的命令将其挂载到本地

rclone mount alist: /home/webdav --use-mmap --umask 000 --network-mode --no-check-certificate --allow-other --allow-non-empty --dir-cache-time 4h --cache-dir=/home/cache --header "Referer:" --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 64M --vfs-read-chunk-size-limit 1G --vfs-cache-max-size 10G --daemon
  • alist: /home/webdav alist 是 rclone 配置的名称,/home/webdav 是挂载的本地路径
  • --dir-cache-time 4h 缓存时间,表示每 4 小时刷新缓存,如不经常改动云盘文件,此值可以设置为 24h
  • --cache-dir=/home/cache 表示缓存路径
  • --header "Referer:" Issues 中有提到此为挂载阿里云盘的必须参数,但不加好像也行

如果 rclone mount 挂载出错

Fatal error: failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found

安装 fuse

apt-get install fuse

使用 df -h 可查看是否挂载成功

取消挂载,LocalFolder 表示本地挂载路径

fusermount -qzu LocalFolder

开机挂载

#将后面修改成你上面手动运行命令中,除了rclone的全部参数
command="mount alist: /home/webdav --use-mmap --umask 000 --network-mode --no-check-certificate --allow-other --allow-non-empty --dir-cache-time 4h --cache-dir=/home/cache --header "Referer:" --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 64M --vfs-read-chunk-size-limit 1G --vfs-cache-max-size 10G --daemon"
#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
After=network-online.target

[Service]
Type=simple
ExecStart=$(command -v rclone) ${command}
Restart=on-abort
User=root

[Install]
WantedBy=default.target
EOF

开始启动:

systemctl start rclone

设置开机自启:

systemctl enable rclone

其他命令:

重启:systemctl restart rclone
停止:systemctl stop rclone
状态:systemctl status rclone

emby 安装及配置#

下方为 emby 开心版 docker 镜像,仅作演示,如有能力请支持正版。

docker run \
	--name EmbyServer \
	--net=host  \
	-v /docker/emby:/config \
	-v /aliyun:/aliyun \
	-e TZ="Asia/Shanghai" \
	--device /dev/dri:/dev/dri \
	-e UID=0 \
	-e GID=0 \
	-e GIDLIST=0 \
	--restart always \
	-d lovechen/embyserver:latest

若是需要配置正版,只需要把最后一行的 lovechen 改为 emby 即可配置 Emby 官方 Docker
若是软路由没有开启科学上网模式,那么需要在 Docker 环境参数里面加上
HTTP_PROXY=http://代理IP:代理端口
HTTPS_PROXY=http://代理IP:代理端口
(这样搜刮器才能正常的进行工作,因为大部分搜刮器已被墙)
  • -v /docker/emby:/config 配置文件的映射,前面为宿主机路径
  • -v /aliyun:/aliyun 资源库路径映射,此处应为 webdav 挂载的路径
  • --device /dev/dri:/dev/dri 配置 Emby 的硬件解码,若没有核显,或是不需要,可以删除

注意事项
如果你的服务器配置较低,没有核显,建议关闭转码功能
进入 设置 --> 用户 --> 配置 关闭下面三个选项

image

其他说明#

cloudDrive2#

其实最开始用的是 cloudDrive2 挂载的阿里云,因为简单。
最后还是放弃重装了,原因也很多

  1. 闭源 这玩意是纯闭源的
  2. 安全性 装了 2 次,每次都是一进网页就被 Google 标欺诈
  3. 性能 同样不支持直链,走的也是本地下载再串流的路数
  4. 稳定性 有掉挂载的情况

image
我不知道是误报还是怎么回事,但闭源还是小心点。
另外就是我不明白一个本地搭建的程序,账号竟然是云端同步的😅,要注册的。。。

阿里云盘直链#

目前本地 webdav策略为兼容性最好的方式,在 emby 中观看视频时,是先从 webdav 下载到本地再推流到 emby 播放的,所以走的是服务器的流量
302 重定向能够获取到阿里云盘的直链,但是无法使用 emby 进行刮削。

如果你只是为了方便观看,可以使用 302 重定向模式,然后用 nplayer 挂载 webdav,这样走的就是阿里云官方的流量了,4K 不卡。

如果你一定要用 emby 走直链,也可以,需要修改 nginx 配置
可以查看下面 2 篇文章

因为我使用的是宝塔的 nginx,没有 nginx 的依赖,即使我重新编译 PCRE 和 njs 模块,事实上我已经重新编译了 PCRE 的 UTF 模块,并指定 nginx 编译时使用此版本的 PCRE🙃,但它还是报错没有 UTF Support

页面美化#

image
这个样式我觉得比 emby 默认的显示要好的多,实现基于Emby Crx
提供了 2 种方式,一种是 chrome 扩展,客户端本地美化,适合用别人 emby 服务器的。另一种是服务端美化,针对自己建的 emby

# EmbyServer 为容器名, 如果你的容器名不是这个 请改成正确的!
docker exec EmbyServer /bin/sh -c 'cd /system/dashboard-ui && wget -O - https://tinyurl.com/2p97xcpd | sh'

小姐姐😍#

如果你想刮削某些小日子出品的电影,可以使用MetaTube,Jellyfin 和 EMBY 通用的插件

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。