玩客云 线刷Armbian 搭配Alist 阿里云盘 Jellyfin NovaVideoPlayer搞电视墙
啰嗦的背景
喜欢看电影,买了个投影仪,是这一切折腾的开端。
投影仪虽然有当贝系统,但是想看的电影总是需要**电视会员,那我肯定是不用的。因为有爱腾优的会员,最开始都是使用手机投屏,当呗的投影仪好就好在投屏基本没有广告。然而遇到某些电影,要不就是会员也得加钱点映,要不就是根本没资源,当时的解决方案是电脑迅雷找资源,下好了之后拷贝到U盘,插到投影仪或者客厅电视播放。
这个过程听着就烦人。有没有更好的方案呢?
这时候有个快被淘汰的叫玩客云的便宜矿渣进入了视线。
大概了解之后去拼多多找货,结果发现都是些刷好系统的,原本的玩客云系统已经不能使用。其实我最开始就是想要个能够方便(快速)下载电影,并且不需要再用U盘挪来挪去的工具。所以最后在小黄鱼花高价买了个已绝育的原装玩客云。
到手后一番折腾,可惜并没有意淫中的美妙。玩客云的好处在于,它有一个比较成熟完整的网盘系统,可以在电脑或者手机客户端直接远程添加下载,可以勉强充当一个私有网盘使用,可以开启smb服务,投影仪支持直接打开smb文件夹中的视频。然而这一切都毁在下载上,说好的永久免费迅雷会员呢,结果大部分资源根本下不动,下的动的用玩客云下载还不如我电脑迅雷试用会员呢。系统也不太稳定的样子,手机客户端经常需要多次刷新才能显示链接上。
接着开始琢磨玩客云的玩法,从搜索结果来看,主流的做法都是刷个Armbian系统,然后装docker玩一些应用。于是开始琢磨刷机。
开始刷机
具体的刷机步骤不描述了,网上太多,只记录一下思路。搜索到的大多数教程,都是使用U盘,需要先刷一个安卓底包,再刷5.88版本的Armbian系统,再刷5.9版本。太麻烦了太麻烦了。继续找,在恩山论坛找到了线刷的办法(参考:玩客云-Armbian23.05-直刷包-内核6.1)。然后去github下载了最新版本的直刷包,京东3.5买了一条双头USB线,在一个夜深人静的周六下午,经历了暴力拆机和多次短接失败之后成功刷入了Armbian系统…
阿里云盘初体验
最开始刷完之后我是有点懵的,我刷机是要干嘛来着…
噢,对了,我要看电影。这时候我其实还想着下载这个事。但是在搜索电影资源的时候发现了阿里云盘这个玩意儿。我感觉打开了新世界的大门,原来不用下载就能看(大部分)想看的高清电影!还可以投屏!在这几天中,我沉迷于在阿里云盘上找资源,晚上直接使用手机阿里云盘投屏看视频…
我买个玩客云来干啥来着…
为了不荒废这个便宜的矿渣,经过一番学习(百度),了解到还可以把阿里云盘挂载到本地路径供局域网的电脑、投影仪、电视访问,也算是找到一点(几乎没有)用处。
具体步骤也不描述了,百度一大堆,仅介绍一下思路。我参考:玩客云安装armbian后将阿里网盘挂载为本地磁盘,并共享给摄像头当存储设备 这篇文章(以及大量其他文章),在armbian系统中安装了docker, 使用aliyundrive-webdav
,davfs2
,将我的阿里云盘挂载到本地路径了…
开始折腾Jellyfin和Alist
如果就挂到本地,像访问文件夹一样去访问播放,那我还不如手机投屏还方便呢…
这时候“学习”到有个东西叫Jellyfin, 可以扫描(挂载到)本地的文件夹,刮削海报和电影信息,自动生成海报墙,提供了安卓客户端,可以安装到投影仪和电视,遥控器在海报墙之间刷来刷去,想想都美滋滋啊(虽然没什么*用)。
最开始使用docker安装了jellyfin。在添加媒体库的时候,选择了阿里云aliyundrive-webdav挂载的目录,发现跑特别慢,观察玩客云负载, 发现aliyundrive-web服务基本上把cpu占满了,才几百个电影文件夹, 仿佛要跑到地老天荒(玩客云弱鸡 )。此外,aliyundrive-webdav有个缺点,使用了它之后我只能看到我备份盘的文件,但是看不到资源盘的文件,而我大多数电影资源都在资源盘,需要手动移动道备份盘。
这时候发现一个叫alist
的开源项目,可以实现aliyundrive-webdav更多的功能,挂载更多的的网盘,也提供webdav服务。于是我选择把jellyfin的容器停掉,使用docker安装了一个最新版本:
docker run -d --restart=always -v /root/**/alist:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest
访问http://*.*.*.*:5244
,然后挂载阿里云盘,选择资源盘…还算是非常快速方便的连上了我的阿里云盘。
这次我使用了本地安装的办法安装Jellyfin(为了省资源提效率):
sudo apt install curl gnupg
curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/jellyfin.gpg
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
访问http://*.*.*.*:8096
就可以继续折腾jellyfin了。这次我使用rclone来挂载alist webdav到本地,挂载完成后继续尝试添加媒体库,开始刮削。by the way , 实测,因为某些原因,需要修改系统hosts文件或者在路由器设置代理,才能正常的访问api,themoviedb.org 刮削到海报和电影信息。经过观察,这次cpu占用率要低很多,20%左右,也比较顺利的刷出了海报墙。
KODI 和 NovaVideoPlayer
我最开始装了个ios端的jellyfin客户端,发现播不动,因为玩客云性能太渣渣,解码太慢了,cpu都占满。然后查了下文档,在jellyfin后台设置优先使用fmp4-hls
, 换了个infuse,使用客户端解码,终于可以播放了。
有人推荐使用KODI,但是根据我的亲身经历,这产品经理真…不好用,反人类,装个最新版的一到配置的时候还卡死, 折腾一晚上搞不出效果,放弃…
然后在投影仪和电视上都安装Jellyfin的安卓客户端,再装一个当贝播放器,用Jellyfin浏览电影信息,播放的时候选择使用当贝播放器,实现客户端硬件解码,基本上阿里云盘资源中的电影都能秒点开秒播放了。到此,基本上算是告一段落…?
在播放电影时,观察玩客云的负载,发现rclone 服务占用较高,推测是需要从阿里云盘下载数据挂载到本地再给客户端播放。此外,想着等公网ip申请下来,我在外使用(伪需求,绝对伪需求)时,流量还得经过家里的带宽和玩客云,太不美观了。于是看了下alist的官网,找到了NovaVideoPlayer这款播放器https://github.com/nova-video-player/aos-AVP, 它的最新版本已经支持webdav。直接在github release页面下载它们最新的apk安装包,安装到电视上,配置alist webdav地址,它会自动扫描文件夹,自动连接themoviedb刮削电影信息和海报,生成海报墙,自带影视分类,自带客户端解码播放,也可以选择使用第三方播放器,可以在线自动搜索下载字幕…总之一切都很美妙,等我装好了之后,发现刮削过程中玩客云负载并不高;我选择了一部近50G的高清电影播放,几乎秒开,整个播放过程玩客云保持“冷静”,流量直接从阿里云盘到客户端Nova解码播放…完美,感动得想哭。
总结
简单总结一下,对于我这样的电影党 + 乞丐流派,玩客云刷Armbian,装alist 挂载阿里云盘 ,使用NovaVideoPlayer观看电影,几乎是我尝试下来的最佳实践。当然,由于Jellyfin的界面相对于Nova,还是更美观一点(Nova更偏向之前WP的扁平化风格),因此Jellyfin我也一直留着,在局域网内看电影依然美滋滋。
至于下一步折腾什么?
申请了公网ip, 准备考虑弄个客户端,挂载个闲置的移动硬盘,弄个私人网盘玩玩,就当给我乞丐版的macbook扩容了。
相关文章:
玩客云 线刷Armbian 搭配Alist 阿里云盘 Jellyfin NovaVideoPlayer搞电视墙
啰嗦的背景 喜欢看电影,买了个投影仪,是这一切折腾的开端。 投影仪虽然有当贝系统,但是想看的电影总是需要**电视会员,那我肯定是不用的。因为有爱腾优的会员,最开始都是使用手机投屏,当呗的投影仪好就好…...
9月1日,每日信息差
1、华大智造:已实现海外基因测序仪和测序试剂的量产,实现了海外基因测序仪和测序试剂的量产 2、邮储银行下调定存利率。价格表显示,整存整取,一年期存款年利率为1.58%,二年期年利率为1.85%,三年期年利率为…...

【大数据】Flink 详解(六):源码篇 Ⅰ
Flink 详解(六):源码篇 Ⅰ 55、Flink 作业的提交流程?56、Flink 作业提交分为几种方式?57、Flink JobGraph 是在什么时候生成的?58、那在 JobGraph 提交集群之前都经历哪些过程?59、看你提到 Pi…...

ShardingSphere——弹性伸缩原理
摘要 支持自定义分片算法,减少数据伸缩及迁移时的业务影响,提供一站式的通用弹性伸缩解决方案,是 Apache ShardingSphere 弹性伸缩的主要设计目标。对于使用单数据库运行的系统来说,如何安全简单地将数据迁移至水平分片的数据库上…...

Linux项目自动化构建工具-make/Makefile
一、什么是make和makefile make是一条指令 Makefile是当前目录下的一个文件 二、makefile文件编写 依赖关系::前为要目标文件,后为其依赖的文件 依赖方法:用依赖文件生成目标文件的具体指令 简便写法: $:表示目标文件 $^:表示…...
Python爬虫实战:自动化数据采集与分析
在大数据时代,数据采集与分析已经成为了许多行业的核心竞争力。Python作为一门广泛应用的编程语言,拥有丰富的爬虫库,使得我们能够轻松实现自动化数据采集与分析。本文将通过一个简单的示例,带您了解如何使用Python进行爬虫实战。…...

视频智能分析平台EasyCVR安防视频汇聚平台助力森林公园防火安全的应用方案
一、研发背景 随着经济的发展和人们生活水平的提高,越来越多的人喜欢在周末去周边的森林公园旅游,享受大自然的美景,并进行野炊和烧烤等娱乐活动。然而,近年来由于烟蒂和烧烤碳渣等人为因素,森林公园火灾频繁发生。森…...

跨境做独立站,如何低成本引流?
大家都知道,海外的消费习惯与国内不同,独立站一向是海外消费者的最喜欢的购物方式之一,这也吸引了许多跨境商家开设独立站。 独立站不同于其他的第三方平台,其他平台可以靠平台自身流量来获得转化,而独立站本身没有流…...

leetcode55.跳跃游戏 【贪心】
题目: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例…...

探秘C语言扫雷游戏实现技巧
本篇博客会讲解,如何使用C语言实现扫雷小游戏。 0.思路及准备工作 使用2个二维数组mine和show,分别来存储雷的位置信息和排查出来的雷的信息,前者隐藏,后者展示给玩家。假设盘面大小是99,这2个二维数组都要开大一圈…...
Leetcode112. 路径总和
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 t…...
生成12位短id,自增且不连续,永不重复,不依赖数据库
基本思路: 设计模式:单例模式 是否加锁:是 synchronized 获取最后一次生成的时间戳值T0 限定初始时间为2023-08-01 00:00:00,获取当前时间时间戳T1,T1与初始时间的毫秒差值T2,转为16进制,转为字符串为r1,获取该字符串的长度L1…...
Zip压缩文件夹php打包函数代码
Zip压缩文件夹php打包函数代码,Zip相关函数是PHP的扩展功能,此函数可以直接复制使用。 以下是代码: <?php # 将文件夹的文件压缩到文件里 class Zip {/*** 将目标文件夹下的内容压缩到zip中(zip包含文件夹目录)* @param $sourcePath *文件夹路径 例: /home/test* @p…...
RISC-V交叉工具链riscv-gnu-toolchain编译
文章目录 1、下载2、编译1. 依赖安装2. 编译 3、运行 1、下载 $ sudo apt-get install git wget build-essential $ git clone https://github.com/riscv-collab/riscv-gnu-toolchain $ git checkout 2023.06.02注意上面 clone 的仓库,我们称其为构建脚本仓库&…...

我能“C“——指针进阶(上)
目录 指针的概念 1. 字符指针 2. 指针数组 3. 数组指针 3.1 数组指针的定义 3.2 &数组名VS数组名 3.3 数组指针的使用 4. 数组参数、指针参数 4.1 一维数组传参 4.2 二维数组传参 4.3 一级指针传参 4.4 二级指针传参 5. 函数指针 阅读两段有趣的代码&…...

SQLServer2008数据库还原失败 恢复失败
源地址:http://www.taodudu.cc/news/show-1609349.html?actiononClick 还原数据库问题解决方案 在还原数据库“Dsideal_school_db”时,有时会遇见上图中的问题“因为数据库正在使用,所以无法获得对数据库的独占访问权”,此时我们…...
【微服务部署】04-ForwardedHeaders
文章目录 1. ForwardedHeaders1.1 场景1.2 关键的HTTP头1.3 核心处理要点 1. ForwardedHeaders 1.1 场景 获取用户IP获取用户请求的原始URL 1.2 关键的HTTP头 X-Forwarded-ForX-Forwarded-ProtoX-Forwarded-Host 1.3 核心处理要点 设置PathBase设置ForwardedHeaders中间件…...

JVM 垃圾收集器
重点:CMS,G1,ZGC 主要垃圾收集器如下,图中标出了它们的工作区域、垃圾收集算法,以及配合关系。 Serial 收集器 Serial 收集器是最基础、历史最悠久的收集器。 如同它的名字(串行),…...
CSS 样式使用link和@import有什么区别
在页面导入样式时,使用link和import有以下区别: 位置:link标签可以放置在HTML文档的head或body中的任何位置,而import规则必须出现在CSS样式表的顶部。 加载方式:当浏览器解析到link标签时,会立即请求并加…...
LeetCode-2511-最多可以摧毁的敌人城堡数目
题目链接 代码实现: class Solution {/** 找 1 -> -1 的时候,经过0的最大个数* 解题思路:双指针*/public int captureForts(int[] forts) {int len forts.length;if(len1){return 0;}int max Integer.MIN_VALUE;boolean flag false;boo…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...

MeshGPT 笔记
[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...

ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space
问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier...