什么是 Kyoo ?
Kyoo
是一款开源媒体浏览器,可让您流式传输电影、电视节目或动漫。它是Plex
、Emby
或Jellyfin
的替代品。Kyoo
是从头开始创建的,它不是一个分叉。一切都将永远是免费和开源的。
软件特性:
- 管理您的电影、电视剧和动漫
- 自动下载元数据
Transmux/Transcode
文件以使它们在每个平台上可用- 具有权限系统的账户系统
- 使用嵌入字体(
ass
、subrip
或vtt
)本地处理字幕 - 完全免费,无需互联网即可工作(当元数据已下载时)
老苏试用的感受,Kyoo
目前还是比较初级,要想取代 Plex
、Emby
或 Jellyfin
,还有蛮远的路需要走,一方面是文档比较匮乏,另一方面感觉功能还是比较少
官方提供了观看无版权电影的现场演示:https://kyoo.zoriya.dev/
准备工作
API key
这一步是必须的;
为了检索元数据,Kyoo
将需要与外部服务进行通信。目前来说,就是the movie database
。为此,您需要获取 API
密钥。
为此,需要访问 themoviedb.org
:https://www.themoviedb.org/并创建一个帐户,然后转到 https://www.themoviedb.org/settings/api ,复制 API
密钥,并将其粘贴到 env.txt
文件的 THEMOVIEDB_APIKEY=
后面。
电影
这一步不是必须的,只是老苏最近硬盘里正好找不到电影,所以只能临时下一部用来测试;
下载了一部官网上看到的 Tears of Steel
这部片子可以在 https://mango.blender.org/download/ 下载,不仅有不同的分辨率,还提供了不同语言的字幕
当然你也可以下载老苏在阿里云盘上分享的文件,https://www.aliyundrive.com/s/21uG7scZoj2,不过老苏只下了 1080P
的版本
安装
在群晖上以 Docker 方式安装。
Kyoo
用到 4
个自己官方的镜像,但 tags
最新版本不是常用的 latest
,而是 master
还是那句话,如果镜像拉不动,去docker
代理网站试试 :https://dockerproxy.com/
其中:
zoriya/kyoo_back:master
:后端服务;zoriya/kyoo_front:master
:前端页面;zoriya/kyoo_scanner:master
:应该是扫描服务,估计是检测文件变化的;zoriya/kyoo_transcoder:master
:应该是转码服务;nginx
:Web
服务;postgres:15
:数据库服务;
docker-compose.yml
将下面的内容保存为 docker-compose.yml
文件,该文件描述了 Kyoo
的不同服务、它们应该在哪里下载以及它们的启动顺序。
version: "3.8"services:back:image: zoriya/kyoo_back:mastercontainer_name: kyoo_backrestart: on-failureenv_file:- ./env.txtdepends_on:postgres:condition: service_healthyvolumes:- ./kyoo:/kyoofront:image: zoriya/kyoo_front:mastercontainer_name: kyoo_frontrestart: on-failureenvironment:- KYOO_URL=${KYOO_URL:-http://back:5000}- PUBLIC_BACK_URL=${PUBLIC_BACK_URL}scanner:image: zoriya/kyoo_scanner:mastercontainer_name: kyoo_scannerrestart: on-failuredepends_on:back:condition: service_healthyenv_file:- ./env.txtenvironment:- KYOO_URL=${KYOO_URL:-http://back:5000}volumes:- ${LIBRARY_ROOT}:/videotranscoder:image: zoriya/kyoo_transcoder:mastercontainer_name: kyoo_transcoderrestart: on-failureenv_file:- ./env.txtvolumes:- ${LIBRARY_ROOT}:/video- ${CACHE_ROOT}:/cache- ./metadata:/metadataingress:image: nginxcontainer_name: kyoo_nginxrestart: on-failureenvironment:- PORT=8901- FRONT_URL=http://front:8901- BACK_URL=${KYOO_URL:-http://back:5000}volumes:- ./nginx.conf:/etc/nginx/templates/kyoo.conf.template:rodepends_on:- back- frontports:- "8901:8901"postgres:image: postgres:15container_name: kyoo_postgresrestart: on-failureenv_file:- ./env.txtvolumes:- ./data:/var/lib/postgresql/datahealthcheck:test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]interval: 5stimeout: 5sretries: 5
这个文件中,唯一可能需要修改的就是本地端口
8901
,如果不冲突的话建议就不要改了;
nginx.conf
将下面的内容保存为 nginx.conf
,该文件描述了访问 Kyoo
的 URL
时将调用哪个服务。
server {listen ${PORT};root /usr/share/nginx/html;location / {proxy_pass ${FRONT_URL};proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}location /api/ {proxy_pass ${BACK_URL}/;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}
}
这个文件中,最好什么都别改;
env.txt
将下面的内容保存为 env.txt
,该文件包含其中的服务 docker-compose.yml
将读取的所有配置选项。
# Useful config options
LIBRARY_ROOT=./video
CACHE_ROOT=./tmp/kyoo_cache
LIBRARY_LANGUAGES=en# A pattern (regex) to ignore video files.
LIBRARY_IGNORE_PATTERN=.*/[dD]ownloads?/.*# The following two values should be set to a random sequence of characters.
# You MUST change thoses when installing kyoo (for security)
AUTHENTICATION_SECRET=4c@mraGB!KRfF@kpS8739y9FcHemKxBsqqxLbdR?
# You can input multiple api keys separated by a ,
KYOO_APIKEYS=t7H5!@4iMNsAaSJQ49pat4jprJgTcF656if#J3DEFAULT_PERMISSIONS=overall.read
UNLOGGED_PERMISSIONS=overall.readTHEMOVIEDB_APIKEY=
PUBLIC_BACK_URL=http://localhost:5000# Following options are optional and only useful for debugging.# To debug the front end, you can set the following to an external backend
KYOO_URL=
# The library root inside the container.
KYOO_LIBRARY_ROOT=/video# Database things
POSTGRES_USER=KyooUser
POSTGRES_PASSWORD=KyooPassword
POSTGRES_DB=kyooDB
POSTGRES_SERVER=postgres
POSTGRES_PORT=5432# vi: ft=sh
这个文件中,
THEMOVIEDB_APIKEY=
必须把前面在themoviedb.org
网站获取到的API
秘钥外,其他的不建议改,除非你清楚每个字段的含义;
老苏没有找到官方的关于环境变量的说明,所以也不清楚LIBRARY_LANGUAGES
是不是支持中文
然后执行下面的命令
# 新建文件夹 kyoo 和 子目录
mkdir -p /volume1/docker/kyoo/{data,kyoo,metadata,video,tmp/kyoo_cache}# 进入 kyoo 目录
cd /volume1/docker/kyoo# 将 docker-compose.yml 、 env.txt 、 nginx.conf 放入当前目录# 一键启动
docker-compose --env-file env.txt up -d
运行
在浏览器中输入 http://群晖IP:8901
就能看到主界面
如果你还没有在 video
目录中放入电影,你会看到一个空空的主界面
如果你已经拷入了 Tears of Steel
,则会显示电影的封面
进入详情页面
可以直接播放
支持选择不同的分辨率
右上角可以注册用户
但是登录之后,并没有什么功能,连基本的权限都还不具备
这也就是开始老苏说的还比较初级的原因,但是从长远看,还是值得期待的,毕竟又多了一个选择
参考文档
zoriya/Kyoo: A portable and vast media library solution.
地址:https://github.com/zoriya/kyoo
Kyoo
地址:https://kyoo.zoriya.dev/browse
ReDoc
地址:https://kyoo.zoriya.dev/api/doc/index.html?url=/api/swagger/v1/swagger.json
Download | Tears of Steel
地址:https://mango.blender.org/download/