EmbyFlow:一个现代、轻量、响应迅速的 Emby 首页轮播


引言

期末考完啦~ 转眼又忙碌了两个多月。这个插件是上个月做的,期间自己一边用一边迭代,在自己的Emby上迭了五代左右才缝出了一个自己比较满意的一个版本。然后由于期末啊部门啊杂七杂八的事情,就拖到了现在才着手写这篇文章(嘿嘿)。

不过读书人的事,怎么能叫拖呢,我这是在灰度测试~(疯狂点头)

现在的版本算是一个我比较满意的版本,也希望你能够喜欢~ 如果觉得可以的话,请在Github上给我一个小⭐⭐~ 谢谢!!!
 


这是什么?

EmbyFlow 是一个 Emby 首页轮播图/横幅增强脚本,基于 Emby-Home-Swiper-UI 做了深度优化与重构:保留原作漂亮的视觉表现,同时砍掉冗余功能,引入骨架屏异步加载,并把“播放续播”和“内容刷新”这两块核心体验做了重写。

预览图:


 


它有哪些优点?

  • 感知更快:骨架屏 + 异步加载

    • 图片没加载出来之前先用骨架屏占位,减少闪烁,首页观感更“稳”。
    • 轮播界面更轻,资源占用更低。
  • 更省心:自适应不同屏幕

    • 内置屏幕宽度检测,桌面/平板/手机都能适配。
    • 屏幕旋转/尺寸变化时也能跟着调整。
  • 更顺滑:播放与续播更可靠

    • 修复了原插件中 “PLAY” 按钮播放进度同步不准的问题,续播更贴近 Emby 实际进度。
  • 更准确:首页推荐刷新机制重写

    • 重写内容刷新逻辑:日期变化时先检查是否有新数据,仅在确实有更新时才刷新。
  • 更一致:保持原生观感

    • 继续沿用现代化 UI 风格,整体更贴近 Emby 原生界面,不显突兀。

     


安装

下面提供两种方式:直接覆盖 Web UI 文件(适合裸机/群晖/常规安装),以及 Docker Compose 注入脚本(适合容器)。

方式一:直接安装(修改 Web UI)

思路很简单:把 home.js 放进 Emby 的 Web UI 目录,并在 index.html 里引入它。
 

1) 找到 Emby 的 Web UI 目录(以群晖标准安装为例):

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

 

2) 下载 home.js 并放到该目录(任选其一):

# Linux(curl)
curl -L -o home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"

# Linux(wget)
wget -O home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"

# 群晖(根据实际路径调整)
sudo su -c 'cd /volume1/@appstore/EmbyServer/system/dashboard-ui && curl -L -o home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"'

 

3) 编辑 index.html,在 <body> 中加入:

<!-- EmbyFlow -->
<script src="home.js"></script>

 

 

4) 重启 Emby 服务或强制刷新浏览器缓存,首页应该就能看到轮播横幅。
 

5) (可选)调试:打开浏览器开发者工具(F12)看控制台报错;也可以在控制台手动初始化:

HomeSwiper.init()

 

方式二:Docker Compose(容器)部署

容器环境推荐用脚本注入,这样无需自己修改主页文件,而且在 Emby 镜像更新后脚本能自动把home.js写入主页。
 

1) 下载文件到你的 Compose 项目目录(与 docker-compose.yml 同级):

  • home.js
  • script.sh
curl -L -o home.js "https://raw.githubusercontent.com/seestars/EmbyFlow/main/home.js"
curl -L -o script.sh "https://raw.githubusercontent.com/seestars/EmbyFlow/main/script.sh"
chmod +x script.sh

 

2) 修改 docker-compose.yml,在 emby 服务的 volumes 里添加:

      - ./script.sh:/etc/cont-init.d/99-custom-patch.sh
      - ./home.js:/system/dashboard-ui/home.js

修改后如:

  embyserver:
    image: emby/embyserver:latest
    container_name: embyserver
    restart: unless-stopped
    devices:
      - /dev/dri:/dev/dri
    ports:
      - "28096:8096"
    volumes:
      - ./emby/config:/config
      - /mount/data:/mnt/Anime
      - ./script.sh:/etc/cont-init.d/99-custom-patch.sh
      - ./home.js:/system/dashboard-ui/home.js99-custom-patch.sh
    networks:
      - media
    environment:
      - UID=33
      - GID=33

 

3) 重启容器:

docker compose restart

 

4) (可选)调试:打开浏览器开发者工具(F12)看控制台报错;也可以在控制台手动初始化:

HomeSwiper.init()

 


结尾

其实一开始只是想找个emby-crx的平替插件,但是一直找不到满意的,而且原Emby-Home-Swiper-UI的Bugs实在是太多了!!!想着那还不如自己来,于是自己便在AI的帮助下修修补补完成了这版插件。
我后面在调试时,有发现过几个Bugs,但是感觉再加整个脚本会太过于臃肿,而且在实际运行时影响不会很大。如果你有什么好的修改办法也可以提交request给我呀~😽
 


致谢与链接

声明:Starry|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - EmbyFlow:一个现代、轻量、响应迅速的 Emby 首页轮播


「心如花木,向阳而生」