This commit is contained in:
juneix
2026-03-07 13:01:39 +08:00
parent f0b921d603
commit 0ae9155c2f
22 changed files with 5731 additions and 1608 deletions
+150
View File
@@ -0,0 +1,150 @@
# 📱 EmbyX 竖屏播放器 `v1.1`
> 这是一个技术小白借助 Antigravity 和 Emby API 制作的 Web 应用,仿抖音风格浏览、管理 Emby 的短视频。
---
## ✨ 功能特色
- **流式播放**:抖音风格上下滑动,沉浸式全屏体验
- **格子视图**:封面墙浏览,支持分页与随机换一批
- **直接播放**Direct Play):安卓 AV1、8K 不转码
- **收藏管理**:一键收藏 / 取消,同步 Emby 数据库
- **键鼠适配**:完整键盘快捷键,电视/电脑浏览器友好
- **PWA 支持**:可安装为桌面/主屏幕应用
- **私有化部署**:数据本地存储,不上传云端
---
## 🔮 播放性能
| 设备 | HEVC 硬解 | AV1 硬解 |
|:---:|:---:|:---:|
| 苹果 | A9 (2015) / M1 | A17 Pro (2023) / M3 |
| 安卓 | 千元机 (2016) | 千元机 (2024) |
| PC | 6~8 代酷睿·核显 | 11 代酷睿·核显 |
---
## ⌨️ 快捷键指南
| 按键 | 功能 |
|:---:|---|
| `W / S / ↑ / ↓` | 上一个 / 下一个视频 |
| `A / D / ← / →` | 快退 / 快进 15 秒 |
| `Space / 单击 OK` | 暂停 / 播放 |
| `U / 双击 OK` | 收藏视频 |
| `J / 菜单键` | 比例切换 |
| `M` | 音量开关 |
| `I` | 个人中心 |
| `E` | 视图切换 |
| `R` | 顺序 / 随机 |
| `F` | 全屏切换 |
| `G` | 选择媒体源 |
| `V` | 流媒体详情 |
---
## 🧩 使用技巧
- **原生全屏**:iOS 系统限制,不支持全屏按钮
- **PWA 应用**:浏览器 📲 添加到主屏幕 / 作为应用安装
- **键鼠适配**:电脑、电视浏览器也能快乐摸鱼
- **媒体库建议**:单个媒体库建议不超过 **1000 个视频**,可建立多个媒体库分层管理
---
## 🛠️ 技术栈
| 层级 | 技术 |
|---|---|
| **结构** | HTML5 语义化标签 |
| **样式** | Tailwind CSSCDNJIT 按需) |
| **逻辑** | 原生 JavaScript(无框架) |
| **图标** | Lucide IconsCDN |
| **数据** | Emby REST API |
| **离线支持** | Service WorkerPWA |
| **容器** | Nginx AlpineDocker 部署时) |
---
## 📁 文件目录
```
embyx/
├── index.html # 核心文件,包含所有逻辑与样式
├── poster.webp # 自定义默认封面图(可替换)
├── manifest.json # PWA 配置文件
├── sw.js # Service Worker(离线缓存)
├── icon.png # PWA 图标
├── Dockerfile # Docker 镜像构建文件
└── docker-compose.yml # 一键部署配置
```
---
## 🚀 部署方式
### 方式一:直接部署(推荐个人用户)
将以下文件放入任意 Web 服务器(Nginx、Apache、NAS 静态服务等)根目录:
```
index.html
poster.webp
manifest.json
sw.js
icon.png
```
> **尝鲜玩法**:手机可以直接双击 `index.html`file:// 协议)本地使用,通过 HTTP 访问 Emby。
---
### 方式二:Docker 部署
#### 使用 Docker
```bash
# 拉取最新镜像
docker pull ghcr.io/juneix/embyx:latest
# 运行容器(映射到本机 8080 端口)
docker run -d \
--name embyx \
--network host \
-e APP_LANG=zh \
-e APP_PORT=8090 \
--restart unless-stopped \
ghcr.io/juneix/embyx:latest
```
访问 `http://your-server-ip:8080` 即可使用。
#### 使用 docker-compose(推荐)
```bash
# 下载 docker-compose.yml 后执行
docker compose up -d
```
或者直接复制到群晖、飞牛、Dockge 的 docker-compose 模板:
```bash
services:
embyx:
image: ghcr.io/juneix/embyx:latest
container_name: embyx
restart: unless-stopped
network_mode: host
environment:
- APP_LANG=zh # zh (中文), en (英文)
- APP_PORT=8090 # 在 host 模式下,直接定义访问端口
```
---
## 📝 开源协议
MIT License — 随意使用,欢迎 PR 和 Issue。
👨🏻‍💻 作者:[@谢週五](https://juneix.github.io)
🛜 官网:[谢週五の藏经阁](https://5nav.eu.org)