emby美化后续折腾

news/2025/1/6 9:09:26/文章来源:https://www.cnblogs.com/gnz48/p/18651908

GitHub - Nolovenodie/emby-crx: Emby 增强/美化 插件 (适用于 Chrome 内核浏览器 / EmbyServer)

 

 

emby美化尝试

皮蛋熊
皮蛋熊
2023-10-18/1 评论/2 点赞/6151 阅读/8117 字
温馨提示:
本文最后更新于 2023-10-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

简介

通过本文,可以美化emby和添加功能,使其看起来赏心悦目。教程同时适用于docker,pc,linux直装等emby场景,请找到对应的文件夹修改即可。

添加多种播放按钮

项目是这个 https://github.com/bpking1/embyExternalUrl,感谢bpking1大佬的付出。 成功后将有如下的排版显示:image.png

先下载上面项目,解压后将其中embyWebAddExternalUrl目录复制到emby安装目录的dashboard-ui中。 再修改dashboard-ui/index.html文件,在</head>前添加:

<link rel="stylesheet" id="theme-css" href="embyWebAddExternalUrl/icons/ExternalPlayer.css" type="text/css" media="all" />
<script src="embyWebAddExternalUrl/embyLaunchPotplayer.js"></script>
 

如下:

image.png

此时保存后刷新页面就可以看到相关的图标了。

进阶

原作者的embyLaunchPotplayer.js 中引用了js cdn的地址,有时候在某些环境下刷不出来,这里可以将其改为本地地址,具体来说就是编辑embyLaunchPotplayer.js文件将

https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/
 

去掉即可。也即是这部分:

document.querySelector("div[is='emby-scroller']:not(.hide) .icon-PotPlayer").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-PotPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-IINA").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-IINA.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-MXPlayer").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-MXPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-infuse").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-infuse.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-VLC").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-VLC.webp)no-repeat;background-size: 100% 100%;font-size: 1.3em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-NPlayer").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-NPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.3em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-StellarPlayer").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-StellarPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-MPV").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-MPV.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-Copy").style.cssText += 'background: url(https://fastly.jsdelivr.net/gh/bpking1/embyExternalUrl@0.0.5/embyWebAddExternalUrl/icons/icon-Copy.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
 

改为:

document.querySelector("div[is='emby-scroller']:not(.hide) .icon-PotPlayer").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-PotPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-IINA").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-IINA.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-MXPlayer").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-MXPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-infuse").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-infuse.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-VLC").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-VLC.webp)no-repeat;background-size: 100% 100%;font-size: 1.3em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-NPlayer").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-NPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.3em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-StellarPlayer").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-StellarPlayer.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-MPV").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-MPV.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
document.querySelector("div[is='emby-scroller']:not(.hide) .icon-Copy").style.cssText += 'background: url(embyWebAddExternalUrl/icons/icon-Copy.webp)no-repeat;background-size: 100% 100%;font-size: 1.4em';
 

再次刷新后就用的本地地址了,在所有的环境都可以把图标刷出来。

添加首页大屏

项目是这个: https://github.com/Nolovenodie/emby-crx 感谢 Nolovenodie 大佬的付出。 成功后显示如下:image.png

先下载上面项目,在每个文件夹中都找一遍,我们总共需要如下几个文件:

common-utils.js
jquery-3.6.0.min.js
main.js
md5.min.js
style.css
 

去emby的安装目录中找到dashboard-ui文件夹,在其中创建一个emby-crx文件夹: 把上面的文件全部复制进去image.png

然后修改dashboard-ui/index.html文件,在</head>前添加下面的代码:

<link rel="stylesheet" id="theme-css" href="emby-crx/style.css" type="text/css" media="all" />
<script src="emby-crx/common-utils.js"></script>
<script src="emby-crx/jquery-3.6.0.min.js"></script>
<script src="emby-crx/md5.min.js"></script>
<script src="emby-crx/main.js"></script>
 

下面这个样子就是正确的。

image.png

保存后刷新网页即可。

添加弹幕

项目是这个:https://github.com/RyoLee/dd-danmaku 感谢 RyoLee 大佬的付出。

我这里测试没有成功,等待尝试再补充上去。

最后

我更推荐直接用docker版本的,特别是这个大佬的把这些都集成了:https://hub.docker.com/r/amilys/embyserver

上面教程提供给其他平台使用的用户修改思路。

参考

  1. https://hub.docker.com/r/amilys/embyserver
  2. https://github.com/bpking1/embyExternalUrl
  3. https://github.com/Nolovenodie/emby-crx
  4. https://github.com/RyoLee/dd-danmaku
 
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

项目主页:

https://github.com/Nolovenodie/emby-crx

该主题是通过chrome插件来调用的,但是本文介绍的是如何直接安装到emby server中

以群晖emby 4.7.11举例

web ui目录为:

/volume1/@appstore/EmbyServer/system/dashboard-ui/

如果是Docker安装的,比如lovechen/embyserver

位置在:

/system/dashboard-ui/

无论你什么安装方式,你只需要找到安装目录下的index.html就找对了!比如容器就是

docker exec -it  容器ID find -name "index.html"

从作者的github库中下载源码压缩包:emby-crx-master.zip

从压缩包中提取如下文件:

common-utils.js
jquery-3.6.0.min.js
md5.min.js
style.css
main.js

把他们上传到 web ui目录 中去

然后编辑 web ui目录 中的index.html文件

在</head>前插入

    <link rel='stylesheet' id='theme-css'  href='style.css' type='text/css' media='all' /><script src="common-utils.js"></script><script src="jquery-3.6.0.min.js"></script><script src="md5.min.js"></script><script src="main.js"></script>

刷新Emby网页即可生效

------------------------------------------------------------------------------------------------------------------------------

项目地址: https://github.com/Nolovenodie/emby-crx

 

 

 

该主题是通过chrome插件来调用的,但是本文介绍的是如何直接安装到emby server中

我这里以群晖emby 4.8.0.67举例

web ui目录为:

 

/volume1/@appstore/EmbyServer/system/dashboard-ui/


如果是Docker安装的,比如lovechen/embyserver

位置在:

 

/system/dashboard-ui/


无论你什么安装方式,你只需要找到安装目录下的index.html就找对了!比如容器就是

docker exec -it  容器ID find -name "index.html"


从作者的github库中下载源码压缩包:emby-crx-master.zip

从压缩包中提取如下文件:

 

common-utils.js
jquery-3.6.0.min.js
md5.min.js
style.css
main.js


把他们上传到 web ui目录 中去

然后编辑 web ui目录 中的index.html文件

在</head>前插入

 

    <link rel='stylesheet' id='theme-css'  href='style.css' type='text/css' media='all' /><script src="common-utils.js"></script><script src="jquery-3.6.0.min.js"></script><script src="md5.min.js"></script><script src="main.js"></script>


 

 

 

这里会有2个坑,

第一个,上述压缩包内的5个文件可能读取权限不够就会出现500报错,web并没有变化,不能加载美化。

这里我们需要给这5个文件所有权限,我这里用的是MobaXterm直接读取文件 ,右键选择权限,并勾选全部权限,保存。(前提是登录SSH,需要root账户)

 

应用完成后刷新web网页,就成功了。

 

第二个,就是style.css需要修改

这里需要把flex修改成为none,不然在媒体库标题上会显示标题文字,从而导致只能点击标题文字才能进入标题媒体库。

 

最后展示一下emby主页美化轮播:

 

 

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

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

相关文章

特殊数据类型的深度分析:JSON、数组和 HSTORE 的实用价值

title: 特殊数据类型的深度分析:JSON、数组和 HSTORE 的实用价值 date: 2025/1/4 updated: 2025/1/4 author: cmdragon excerpt: 随着数据管理需求的多样化,许多现代数据库系统开始支持特殊数据类型,以满足更多复杂应用场景的需求。在 PostgreSQL 中,JSON、数组和 HSTORE…

[.NET] Aspire 9 新特性及优化

随着 .NET 9 的发布,.NET Aspire 迎来了一系列重大更新和改进。这些更新不仅让 Aspire 变得更加成熟,也使其终于具备了投入生产环境的条件。本文将详细介绍 Aspire 的最新特性和改进。🚀Aspire 9 新特性及优化 摘要 随着 .NET 9 的发布,.NET Aspire 迎来了一系列重大更新和…

MapReduce--国家气候数据中心

NCDC:https://www.ncei.noaa.gov/中国气象数据网:https://data.cma.cn/

ABB IRB6640机械手减速机维修步骤

ABB IRB6640机械手减速机维修涉及多个步骤和注意事项,以下是一些关键的abb机械臂维修步骤和建议:一、故障排查检查故障代码:首先,通过查看机械手的故障显示屏或控制柜的显示屏,记录显示的错误代码。这些代码通常能指示减速机或其他部件的故障类型。检查电源和电缆:确保机…

Pycharm 2024.3.1.1 安装激活详细图文教程(激活至2026,实际上永久,亲测!)以及常见问题处理

申明:本教程 Pycharm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 !卸载老版本 Pycharm 首先,如果小伙伴的电脑上有安装老版本的 Pycharm , 需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即…

java8--类Scanner--文件内容输入--错误的使用方法

Scanner in = new Scanner("mygile.txt"); String str = in.nextLine(); System.out.println(str);效果图:ps: 1.没有用类Paths的静态方法get指定路径,直接在创建Scanner新对象时传入文件名做参数,使用时不会启动输入步骤,不会从键盘获取输入,执行的是赋值操作…

Webstorm 2024 安装激活详细使用教程(激活至2026,实测是永久,亲测!)

开发工具推荐:Webstorm 安装激活详细使用教程(激活至2026,实际上永久,亲测!)申明:本教程 Webstorm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! Webstorm是JetBrains公司推出的一款功能强大的JS集成…

24. 两两交换链表中的节点(中)

目录题目法一、迭代法二、递归 题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。法一、迭代 var swapPairs = function(head) {let dummy = {next:head}let p1 = dummywhile(p1.ne…

深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)PDF、EPUB免费下载

周志明JVM新作,新增内容近50%,大厂面试知识点全覆盖。与《Java编程思想、EffectiveJava、Java核心技术》堪称“Java四大名著”适读人群 :1.使用Java技术体系的中-高级开发人员 2.系统调优师 3.平台架构师 4.准备进互联网大厂面试的Java开发人员 周志明JVM新作,新增内容近50…

使用 ActiViz.Net (商业版)实现读三维地震数据可视化

一、背景 在地震勘探中,SEG-Y 格式(简称 SEGY)是最常用的数据格式之一,用于存储地震波的原始数据。地震数据通常包含了时间序列信息,并通过不同的采样和测量方法来记录地下结构的属性。为了有效地可视化这些数据,尤其是地震波的幅度和传播情况,三维可视化是一个非常有用…

使用 ActiViz.Net 实现读三维地震数据可视化

一、背景 在地震勘探中,SEG-Y 格式(简称 SEGY)是最常用的数据格式之一,用于存储地震波的原始数据。地震数据通常包含了时间序列信息,并通过不同的采样和测量方法来记录地下结构的属性。为了有效地可视化这些数据,尤其是地震波的幅度和传播情况,三维可视化是一个非常有用…

通过网址或html生成一个简单apk

GitHub - pzx521521/apk-editor 通过网址或html生成一个简单apk 之前发过一个使用apktool版本的,简单来说就是一个对apk反编译和编译的过程相比使用apktool有以下优点:[x] 没有环境依赖,完全不需要 jdk/jre [x] 无需中间调用apktool,容易部署到服务器/docker使用 Online Demo 修…