



IPTV 直播播放器 - 数据同步版
版本: 1.3.0
应用名称: fnnas.liveplayer
🎯 功能特性
核心功能
- ✅ M3U 播放列表导入 - 支持 URL、文件上传、内容粘贴三种导入方式
- ✅ HLS/FLV/MP4 直播流播放 - 使用 hls.js 支持 HLS 直播流
- ✅ 频道分组管理 - 自动按 group-title 分组,支持自定义分组
- ✅ EPG 节目单 - 支持 XML 格式节目单加载和显示
- ✅ 频道搜索 - 实时搜索过滤频道
🆕 数据同步功能
- ✅ 服务器端存储 - 所有数据保存在飞牛NAS本地服务器
- ✅ 多设备同步 - 不同设备访问自动同步最新数据
- ✅ 收藏夹同步 - 收藏的频道在所有设备间同步
- ✅ 实时同步状态 - 显示数据同步状态,支持手动刷新
📦 安装说明
系统要求
- 飞牛NAS系统 0.9.0 或更高版本
- x86_64 架构
安装步骤
- 将
fnnas.liveplayer-1.3.0.fpk 上传到飞牛NAS
- 在应用中心选择"从文件安装"
- 选择上传的 fpk 文件进行安装
- 安装完成后在桌面找到"IPTV 播放器"图标启动
🚀 使用指南
导入频道
- 点击右上角"导入"按钮
- 选择以下方式之一:
- 文件上传: 上传 .m3u、.m3u8 或 .txt 文件
- 链接导入: 输入 M3U 播放列表的 URL
- 内容粘贴: 直接粘贴 M3U 内容
播放频道
- 点击左侧频道列表中的任意频道即可播放
- 支持直接输入直播地址播放
收藏管理
- 点击频道右侧的星标按钮添加/取消收藏
- 点击顶部的"收藏"标签查看收藏的频道
数据同步
- 数据自动保存在服务器端
- 点击右上角的刷新按钮手动同步数据
- 所有设备访问同一地址即可看到相同数据
💾 数据存储
存储位置
所有数据存储在飞牛NAS的以下目录:
/var/apps/fnnas.liveplayer/data/
**── channels.json # 频道列表
**── favorites.json # 收藏夹
**── epg.json # 节目单
**── logos.json # 台标数据
数据格式
频道数据格式 (channels.json):
[
{
"id": "ch_xxx",
"name": "**-1 综合",
"url": "https://example.com/**1.m3u8",
"group": "央视",
"logo": "https://example.com/logo.png",
"createdAt": "2026-03-19T00:00:00",
"updatedAt": "2026-03-19T00:00:00"
}
]
收藏夹数据格式 (favorites.json):
[
{
"id": "fav_xxx",
"channelId": "ch_xxx",
"createdAt": "2026-03-19T00:00:00"
}
]
🔧 开发说明
目录结构
.
**── manifest # 应用清单
**── ICON.PNG # 应用图标 (64x64)
**── ICON_256.PNG # 应用图标 (256x256)
**── config/ # 配置文件
** **── desktop # 桌面配置
** **── privilege # 权限配置
** **── resource # 资源配置
**── cmd/ # 生命周期脚本
** **── main # 主控制脚本
** **── install_* # 安装钩子
** **── uninstall_* # 卸载钩子
** **── upgrade_* # 升级钩子
**── ui/ # 用户界面
** **── index.html # 前端页面
** **── index.cgi # CGI 文件服务
** **── api.py # 数据存储 API
** **── images/ # 图标资源
**── wizard/ # 安装向导
技术栈
- 前端: HTML5 + CSS3 + JavaScript (原生)
- 视频播放: hls.js (HLS 支持)
- 后端: Python 3 CGI
- 数据存储: JSON 文件
API 接口
频道管理
GET /api.py/channels - 获取所有频道
POST /api.py/channels - 添加单个频道
PUT /api.py/channels - 批量导入频道
DELETE /api.py/channels - 清空所有频道
GET /api.py/channels/{id} - 获取单个频道
PUT /api.py/channels/{id} - 更新频道
DELETE /api.py/channels/{id} - 删除频道
收藏夹
GET /api.py/favorites - 获取收藏的频道
POST /api.py/favorites - 添加到收藏夹
DELETE /api.py/favorites/{channelId} - 取消收藏
导入
POST /api.py/import-m3u - 解析 M3U 内容
节目单
GET /api.py/epg - 获取节目单
POST /api.py/epg - 保存节目单
台标
GET /api.py/logos - 获取台标列表
POST /api.py/logos - 添加台标
构建打包
# 执行打包脚本
bash build.sh
# 生成的包文件
fnnas.liveplayer-1.3.0.fpk
📝 更新日志
v1.3.0
- 🎉 新增服务器端数据存储功能
- 🎉 新增多设备数据自动同步
- 🎉 新增收藏夹功能
- 🎉 新增实时同步状态显示
- 🎉 新增手动刷新同步按钮
- 🎉 新增数据同步说明提示
- 🎉 新增清空数据功能
- 💄 优化用户界面,增加同步状态提示
- 💄 改进导入流程,自动保存到服务器
- 🐛 修复数据持久化问题
- 📝 完善错误处理和用户提示
📄 许可证
第三方应用,遵循原应用许可证。
🤝 支持
如有问题或建议,请联系开发者。