开源媒体浏览器Kyoo

在这里插入图片描述

什么是 Kyoo ?

Kyoo 是一款开源媒体浏览器,可让您流式传输电影、电视节目或动漫。它是 PlexEmbyJellyfin 的替代品。Kyoo 是从头开始创建的,它不是一个分叉。一切都将永远是免费和开源的。

软件特性:

  • 管理您的电影、电视剧和动漫
  • 自动下载元数据
  • Transmux/Transcode 文件以使它们在每个平台上可用
  • 具有权限系统的账户系统
  • 使用嵌入字体(asssubripvtt)本地处理字幕
  • 完全免费,无需互联网即可工作(当元数据已下载时)

老苏试用的感受,Kyoo 目前还是比较初级,要想取代 PlexEmbyJellyfin,还有蛮远的路需要走,一方面是文档比较匮乏,另一方面感觉功能还是比较少

官方提供了观看无版权电影的现场演示: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:应该是转码服务;
  • nginxWeb 服务;
  • 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,该文件描述了访问 KyooURL 时将调用哪个服务。

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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/137504.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

极致鸿蒙2.0——华为MatePad系列安装AidLux,一个自带vscode的Python编译环境

看着刚刚人入手的华为鸿蒙系统MatePad11平板,是如此的美轮美奂,但是总感觉少了点什么,少了点什么呢?是编程环境,我爱MatePad,也爱编程,那如果可以在MatePad上编程,会发生什么&#x…

性能测试 —— Tomcat监控与调优:status页监控

Tomcat服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。 Tomcat是一个轻量级应用服务器,在中小型系统…

车载通信架构 —— SOME/IP 协议概述

车载通信架构 —— SOME/IP 协议概述 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 对学习而言,学习之后的思考、思考之后的行动、行动之后的改变更重要,如果不盯住内层的改变量,那么在表层投…

Java下打印直角三角型(另一个方向)

代码如下&#xff1a; public class MyWork {public static void main(String[] args) {int num 5;for (int i 0; i < num; i) {for (int j 0; j < i; j) {System.out.print("-");}for (int j 0; j < num - i; j) {System.out.print("*");}S…

OceanBase杨传辉传递亚运火炬:国产数据库为“智能亚运”提供稳稳支持

9 月 14 日&#xff0c;亚运火炬传递到了浙江台州&#xff0c;OceanBase 的 CTO 杨传辉作为火炬手交接了第 89 棒火炬。 2010 年&#xff0c;杨传辉作为创始成员之一参与自研原生分布式数据库 OceanBase。十年磨一剑&#xff0c;国产数据库 OceanBase 交出了一张优秀的成绩单&a…

实施主品牌进化战略(一):确立主品牌进化架构

主品牌进化战略&#xff0c;即以主品牌为核心创造、巩固、转化竞争优势应对竞争环境变化&#xff0c;避免衰退&#xff0c;回归增长&#xff0c;让主品牌进化的方法论体系。主品牌进化战略制定要从 4 个方面出发&#xff1a;确立主品牌进化架构、更新和明确主品牌竞争方向、建立…

【100天精通Python】Day67:Python可视化_Matplotlib 3D绘图,绘制3D曲面图、3D填充图,3D极坐标图,示例+代码

目录 1 绘制曲面图 2 绘制3D填充图 3 绘制极坐标图 1 绘制曲面图 当绘制3D曲面图时&#xff0c;mpl_toolkits.mplot3d 模块中的 Axes3D 对象提供了多种方法来呈现不同类型的曲面图。以下是一些常见的3D曲面图类型以及示例&#xff1a; 曲面图&#xff1a;使用 plot_surface …

修炼离线:(三)sqoop插入hbase 报错权限问题

一&#xff1a;报错现象。 二&#xff1a;解决方式。 方法一&#xff1a;修改文件所有者。 切换hadoop用户&#xff1a;export HADOOP_USER_NAMEhdfs hadoop fs -chown -R root:root /方法二&#xff1a;修改权限 切换hadoop用户&#xff1a;export HADOOP_USER_NAMEhdfs ha…

Proteus的编译运行(以AT89C51为例)

最近&#xff0c;突然又用到了Proteus,之前还是大三上的时候上微机原理的时候用到过&#xff0c;今天记录一下如何在Proteus中编写代码&#xff0c;编译运行。 首先&#xff0c;选中AT89C51芯片&#xff0c;右键选择编辑源代码。 选择芯片的系列与对应的编译器&#xff0c;这里…

OpenCV实现图像去水印功能(inpaint)

水印定位 需要根据图像特征获取水印的位置。 如图所示&#xff0c;图像左下角、右下角有水印。第一步&#xff0c;我们首先得定位水印所在位置。 Mat gray;cvtColor(src, gray, COLOR_BGR2GRAY);//图像二值化&#xff0c;筛选出白色区域部分Mat thresh;threshold(gray, thres…

在VMware虚拟机中固定CentOS系统ip(使用桥接模式)

目录 一、前置说明二、前置准备2.1、切换虚拟机网络为桥接模式2.2、查看本机网络信息 三、配置CentOS系统IP3.1、进入系统输入ip addr 查看本机网络配置名称3.2、查看网络配置目录&#xff0c;网络配置文件名称3.3、修改网络配置文件 ifcfg-ens33 固定IP3.4、重启网络 一、前置…

增强企业的网络防御:从哪里开始

在当今的数字环境中&#xff0c;网络安全事件已经变得异常普遍&#xff0c;影响着各种规模和行业的企业。中小型企业 (SME) 不再局限于知名组织&#xff0c;由于其潜在的漏洞和应对复杂威胁的资源有限&#xff0c;越来越多地成为网络犯罪分子的目标。 2023 年第一季度&#xf…

计算机是如何工作的下篇

操作系统&#xff08;Operating System ) 操作系统是一组做计算机资源管理的软件的统称。目前常见的操作系统有&#xff1a;Windows系列、Unix系列、Linux系列、OSX系列、Android系列、iOS系列、鸿蒙等. 操作系统由两个基本功能&#xff1a; 对下,要管理硬件设备. 对上,要给…

单片机第三季-第三课:STM32开发板原理图、配置、浮点运算单元

目录 1&#xff0c;开发板原理图 2&#xff0c;浮点运算单元&#xff08;FPU&#xff09; 1&#xff0c;开发板原理图 课程视频比较早&#xff0c;介绍了三款开发板。观看视频时用的开发板说和51单片机共板的STM32核心板&#xff0c;将51单片机从底座拆下来后&#xff0c;安…

云原生Kubernetes:K8S存储卷

目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 二、实验 1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 三、问题 1.生成pod一直pending 四、总结 一、理论 1.存储卷 &#xff08;1&#xff09;概念 容器磁盘上的文件的生命周期是短暂的…

如何玩转CSDN AI工具集

前言 人工智能生成内容&#xff08;AIGC&#xff09;是当下最具有前景的技术领域之一。AI能够以惊人的速度和准确度生成各种类型的内容&#xff0c;完成文章翻译、代码生成、AI对话、插图创作等工作&#xff0c;带来了许多令人兴奋的机遇。 本文将介绍CSDN AI工具集的基本使用…

Bard人工智能9月19日重大更新

1、巴德现在可以回复来自谷歌地图、航班、酒店和YouTube的实时信息&#xff0c;因此您可以在一个地方完成更多工作。 2、Bard 可能会与其他服务共享您的部分对话和其他相关信息&#xff0c;例如您的位置。这些服务可能会使用该信息进行改进&#xff0c;即使您以后删除了您的 Ba…

湖南湘潭家具3D轮廓扫描测量家居三维数字化外观逆向设计-CASAIM中科广电

随着科技的不断进步&#xff0c;CASAIM三维扫描技术在各个行业中得到了广泛应用&#xff0c;家具行业也不例外。传统的家具设计和展示方式已经无法满足现代消费者的个性化、多元化需求&#xff0c;而三维扫描技术的出现为家具行业带来了新的机遇和可能性。 家具表面有雕刻图案…

机器学习第九课--随机森林

一.什么是集成模型 对于几乎所有的分类问题(图像识别除外&#xff0c;因为对于图像识别问题&#xff0c;目前深度学习是标配)&#xff0c;集成模型很多时候是我们的首选。比如构建一个评分卡系统&#xff0c;业界的标配是GBDT或者XGBoost等集成模型&#xff0c;主要因为它的效…

(2) Java 8 实战第二版——补充 收集数据、并行数据处理能力与性能

第6章 用Collectors类创建和使用收集器将数据流归约为一个值汇总&#xff1a;归约的特殊情况数据分组和分区开发你的自定义收集器 对一个交易列表按货币分组&#xff0c;获得该货币的所有交易额总和&#xff08;返回一个Map<Currency, Integer>&#xff09;。将交易列表…