71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# 📺 IPTV 跨平台应用
|
||
|
||
基于 Web 技术的跨平台 IPTV 播放器,一套代码支持 Windows、Mac、Android、Android TV、Web。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
iptv-app/
|
||
├── ui/ # 🌐 Web 核心代码 (Vue 3)
|
||
│ ├── src/
|
||
│ │ ├── components/ # 播放器组件
|
||
│ │ ├── utils/ # M3U 解析等工具
|
||
│ │ └── App.vue # 主应用
|
||
│ ├── public/ # 静态资源
|
||
│ └── dist-web/ # 📦 Web 构建输出(各平台共用)
|
||
├── web/ # 网页端,nodejs中间层+docker封装
|
||
├── desktop/ # 🖥️ Tauri 桌面端 (Win/Mac)
|
||
├── android/ # 📱 Android WebView 壳
|
||
├── android-tv/ # 📺 Android TV WebView 壳
|
||
└── web/ # 🐳 Docker Web 服务端
|
||
```
|
||
|
||
## 技术栈
|
||
|
||
| 平台 | 技术 | 说明 |
|
||
|------|------|------|
|
||
| UI 核心 | Vue 3 + Vite + hls.js | 一套代码,所有平台共用 |
|
||
| Web | Nodejs | 中间层代理,解决跨域问题 |
|
||
| Desktop | Tauri (Rust) | 轻量 (~5MB),高性能 |
|
||
| Android | WebView + ExoPlayer | 手机/平板 Web 壳 |
|
||
| Android TV | WebView + Leanback | TV 专用,支持遥控器导航 |
|
||
| Web | Node.js + Docker | 网页端 + 代理服务 |
|
||
|
||
## 快速开始
|
||
|
||
### Docker Web(推荐)
|
||
|
||
```bash
|
||
# 1. 构建 Web UI
|
||
cd ui && npm run build
|
||
|
||
# 2. 启动 Docker 服务
|
||
cd ../web
|
||
docker-compose up -d
|
||
|
||
# 访问 http://localhost:3000
|
||
```
|
||
|
||
### Android 构建
|
||
|
||
```bash
|
||
# 1. 构建 Web UI
|
||
cd ui
|
||
npm install
|
||
npm run build
|
||
|
||
# 2. 构建 Android APK
|
||
cd ../android
|
||
./build.sh
|
||
```
|
||
|
||
APK 输出位置: `android/app/build/outputs/apk/debug/app-debug.apk`
|
||
|
||
### Android TV 构建
|
||
|
||
```bash
|
||
cd android-tv
|
||
./build.sh
|
||
```
|
||
|
||
--- |