本文主要讲述如何使用linux搭建流媒体服务中心,这个流媒体中心可以是看番网站、网课视频、电影等等,只要你想,什么都可以播放。
因为本up猪的服务器是阿里云的Centos系统,所以只提供该系统下的安装方式。
前期准备
购买一台云服务器,本文使用的是腾讯云购买的CentOS 7系统云服务器。防火墙需要放行端口8096、6080、6081、6800、6998、51413。
腾讯云搞活动价格大概每年80元(比大会员便宜),另外学生优惠常驻,也差不多这个价
另外:如果家中有路由器+不用的旧电脑也可以搞,不过只能在同wifi下观看。如果有NAS那更不用说,我相信玩NAS的大佬不太需要这个攻略。
Docker常用命令
1、docker 进程启动、停止、重启,常见的三种 case
service docker start# 启动docker
service docker stop# 关机docker
service docker restart# 重启docker
2、基本操作
docker ps -a # 查看容器列表, 列出所有的容器
docker ps #查看正在运行的容器列表
docker start xxx # (这里的xxx可以是容器名:yhh_centos 也可以是容器id:
# 启动容器,start后面可以跟上容器名,或者容器idf57398ab22c5)
docker stop xxx# 关闭容器
docker restart xxx# 重启
docker rm xxx# 删除
安装Docker
Docker -> 虚拟化容器技术。
Docker基于镜像,可以秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离。
1、首先更新一下yum包
sudo yum update
2、若你之前已经安装过docker,那么我们首先是要卸载已经安装好的dockre
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
## 安装Docker所需要的一些工具包
sudo yum install -y yum-utils
## 建立Docker仓库 (映射仓库地址)
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4、安装Docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io —-allowerasing
sudo systemctl start docker
7、测试Docker安装是否正常
sudo docker run hello-world
注意:如果出现-bash: curl: command not found错误,说明curl命令没安装,请输入yum -y install curl
安装curl,再回过头来执行上面的命令。如果它卡住了也不要着急,耐心等它安装完成。
安装Jellyfin
1、使用docker安装Jellyfin
docker pull jellyfin/jellyfin:latest
mkdir -p /srv/jellyfin/{config,cache}
docker run -d -v /srv/jellyfin/config:/config -v /srv/jellyfin/cache:/cache -v /media:/media --net=host jellyfin/jellyfin:latest
2、为Jellyfin创建媒体库文件夹,并设置权限
mkdir /media
useradd jellyfin
chown jellyfin:jellyfin /media
chmod 777 /media
3、之后,我们只要将视频下载到media文件夹中,就可以在Jellyfin中识别出来。我们在media下再创建一个文件夹anime,专门用于存放视频源。
cd /media
mkdir anime
视频整理与识别
1、输入你的ip地址+端口号8096,如: 127.0.0.1:8096/,按照安装教程一步一步完成jellfin的配置(设置用户名、密码等等)
注:如果你打不开这个界面,请首先检查ip地址是否输错,其次检查端口有没有放行。
安装完成后,打开控制台—插件—目录,安装AniList和AniDB插件。Jellyfin自带的媒体识别识别电影还算准确,但识别番剧完全不行,所以需要安装这两个插件。
安装完成后,我们需要重启Jellyfin。
输入docker ps -a,查看现在运行的所有docker镜像
可以看到,Jellyfin的ID,我们输入docker restart ID即可
打开控制台—媒体库,选择添加媒体库。文件夹选/media/anime,在所有的刮削器选项中,将AniDB排在第一位,AniList排在第二位(个人感觉AniDB好用一些),Screen Grabber留下,其他全部取消。
我们在anime文件夹下再创建一个文件夹,起名叫“Spy x Family”,并上传一集间谍过家家到文件夹中。耐心等待一下,可以看到它已经识别到了这部番剧。
注意:
- 如果没有识别到,可以到控制台—媒体库里选择“扫描媒体库”。如果识别结果不准(比如中文译名过于抽象它不认识),可以再到“动漫”分类中,手动选择“识别”,输入英文或日文名,再选择正确的番。识别时不建议使用中文译名。
- 番剧名称和介绍全是英文的,可以选择编辑元数据手动把内容改成中文,并在控制台—计划任务里把“扫描媒体库”关掉,就可以保持中文介绍了。
到这里,Jellyfin已经可以识别并在线播放anime文件夹中的内容了。接下来要实现的是将番剧自动下载到anime文件夹中,也就实现了番剧自动更新。
配置离线下载
Aria2是一个下载程序,我们需要用它来实现番剧视频的下载。
输入以下命令安装:
bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/ccaa/master/ccaa.sh) cdn
这是Aria2的一键安装脚本。下载路径默认即可我们用不到,密钥需要自己设定一个密码,请自己记好。安装后会出现访问地址,应该为http://IP:6080。
输入http://IP:6080访问AriaNg ,首次打开会提示“认证失败”,这个是正常现象。依次点击“AriaNg设置 - RPC - 填写之前设置的RPC密钥”
虽然现在下载列表空空如也,但之后,我们可以在这个页面查看番剧的下载进度。
配置RSS订阅
我们需要一个RRS订阅源。我使用的是漫猫bt(http://www.comicat.org/)。
利用搜索功能筛选出你想下载的内容
比如,这里筛选动漫国字幕组制作的异世界舅舅资源。
点击左上角的小黄色图标,复制地址。
安装Flexget
yum install python
yum install python3-pip
pip3 install --upgrade pip
hash -d pip3
pip3 install --upgrade setuptools
pip3 install --ignore-installed flexget
cd /root
mkdir -p ~/.config/flexget
cd .config/flexget
touch config.yml
vi config.yml
配置文件为/root/.config/flexget/config.yml,配置如下:
tasks:
任务名称:
rss: 上面复制的链接
accept_all: yes
aria2:
server: Aria2的IP地址
port: Aria2的端口,默认6800
secret: 之前设置过的密钥
path:下载绝对路径
比如对于异世界舅舅这部番番剧,我的配置是:
tasks:
ysjjj:
rss: http://www.comicat.org/rss-%E5%BC%82%E4%B8%96%E7%95%8C%E8%88%85%E8%88%85+%E5%8A%A8%E6%BC%AB%E5%9B%BD+720+%E7%AE%80%E4%BD%93.xml
accept_all: yes
aria2:
server: 127.0.0.1
port: 6800
secret: 88488848
path: /media/anime/异世界舅舅
配置完成后,输入flexget execute可以执行下载任务,自动下载之前没下载过的文件。我们可以在AriaNg中查看任务进度。
- *如果提示文件删除或创建失败,多半是该文件夹没有权限,输入/chmod 777 /media/anime/你的文件夹,之后在AriaNg中选择重试任务即可。
添加自动任务
输入以下代码:
crontab -e
在打开的文件最后添加如下内容:
*/10 * * * * /usr/local/bin/flexget --cron execute
之后,服务器会每隔10分钟检查一次RSS订阅,如果有番剧更新就会自动下载到你设定的文件夹中,Jellyfin会自动识别并能在线播放。输入服务器ip:8096,就可以在线看番。而且是无广告、高清的观看体验。
各平台客户端下载地址:https://jellyfin.org/clients/
怎么收藏这篇文章?