折腾本腾
基于网盘挂载的emby服务端并实现直链播放
00 分钟
2023-6-3
2023-6-5
type
status
date
slug
summary
tags
category
icon
password
URL
 
前言
国内网盘通过rclone挂载搭建的emby服务端本身速度尚可,如果你的服务器是家里的nas,这方案算是比较合适的方案。为啥要用网盘搭建emby影视库,因为网盘提供了家里硬盘所没有的大容量,如果你的影视资源比较多的话,网盘挂载应该是你的选择。 这里我提供了另一个思路,rclone挂载国内网盘,实现emby的直链播放,什么意思呢,即实现播放电影走的是网盘的cdn服务器,不走服务器流量,这样你播放电影不受限于家里nas的上传带宽,或者不影响vps的流量额度,此外由于是国内直链播放,速度相当的快,如果emby服务端是放在vps,vps到你家里的速度影响的只是前端的速度,即海报刷新的速度,不影响视频播放的速度。 当然,要实现这个方案,离不开大佬的智慧结晶,我这里其实起了一个抛砖引玉的作用,贴一下群里 bpking大佬的脚本及教程,写得比较简单,适合稍微有点基础的人。我这里记录下我自己的折腾过程,本文内容可能会比较长,请做好心里准备 。
原理
搭建 alist多种存储的目录文件列表程序 ,将需要挂载的网盘添加上去,如阿里云盘,世纪互联等,然后使用 nginx 及其 njs 模块将 emby 视频播放地址劫持到 alist 直链。
准备工作
准备一台vps,系统推荐 Debian11 ,并搭建好 emby 服务端,解决 rclone 挂载国内网盘,这里不再赘述,网上教程很多。最终访问 http://vps-ip:8096/ ,可以正常访问 emby 并正常播放视频,视为完成准备工作。

1. 安装alist并创建网盘列表

alsit 项目地址: alist项目 参照 alist文档 的安装教程,我这里采用直装版。 安装完成后,打开 http://vps-ip:5244/ ,输入密码,进入后台,选择账号-添加:
notion image
这边我rclone挂载的是名为 sp01 的世纪互联 sharepoint ,参考我的设置,其 中客户端ID , 客户端密钥, 刷新令牌(refresh token) 均可以在 rclone 配置中找到, sharepoint站点ID ,填你创建的site id,如果你不知道这个是什么的话,访问 获取SharePoint网站site-id 。 完成设置后,点击右下角的首页,进入 sp01 目录:
notion image
随便点击一部电影并试试播放速度:
notion image
速度不错,并且 vps 无瞬时的大流量上传的话, alist 安装完成。

2. 安装nginx

如果你的 nginx 无其他用途,仅用来反代 emby ,推荐用 前言 大佬教程里的 docker版 ,省却了很多折腾步骤,这里我决定采用安装版。要求 nginx 版本大于 1.20 ,如果你已经安装过 nginx ,可以通过以下命令查看版本:
版本如大于 1.20 即可,但是由于 debian 默认的 nginx 源版本往往比较低,所以我们要采用官方的安装方式: nginx官方最新版debian安装教程 。安装过程不重复了,自行参照下官网步骤。安装njs模块
安装完成后,进入 nginx 的配置目录:
创建你域名的配置,如 yourdomain.com.conf ,添加如下内容
同目录下创建 emby.js ,添加如下内容:
此处内容作者设置了 回复 可见 根据注释的地方自行调整相应的配置。 修改 /etc/nginx/nginx.conf ,在首行添加如下内容:
验证 nginx 配置是否问题:
如无报错,重启 nginx
打开上述 nginx 配置的域名,如http://yourdomain.com , 注意这里不要访问默认的 8096 端口,如果能正常访问 emby 界面, nginx 安装工作完成。

3. 验证直链播放是否成功

随机打开一部电影,验证播放、拖曳速度。 查看 nginx js 日志:
如出现以下直链地址,表示直链成功,并且此时流量不经过 vps 服务器。
notion image

4. 关于直链成功的一些补充说明

这里直接引用 @bpking 大哥的原话
直链播放不支持转码,转码的话只能走emby server

评论
Loading...