HomeTV 是一个基于 Go 语言开发的轻量级视频采集、管理和播放系统。它专为个人用户设计,支持从特定视频网站自动爬取剧集、下载 m3u8 视频流、管理本地视频库,并提供简洁的 Web 界面进行播放。
-
📺 视频播放
- 简洁的 Web 播放界面,支持手机和电视大屏适配。
- 支持 HLS (m3u8) 流畅播放。
- 自动标记已看:观看进度超过 95% 自动标记为“已看”,并自动删除本地视频文件以节省空间(仅保留元数据)。
- 断点续播:支持起始剧集设置,跳过已看集数。
-
🕷️ 视频爬虫
- 输入剧集详情页 URL,一键批量抓取所有集数。
- 支持设置起始集数,仅下载指定集数之后的视频。
- 自动去重:智能识别已存在的剧集和集数,避免重复下载。
- 后台自动刷新:支持一键检查所有已订阅剧集的更新。
-
⬇️ 下载管理
- 多线程下载:内置高效的 m3u8 下载器,支持断点续传。
- 并发控制:智能任务队列,支持任务抢占、自动重试。
- 实时进度:前端实时显示下载进度条。
-
🧹 自动维护
- 空间管理:实时显示磁盘占用情况。
- 孤儿清理:每小时自动扫描并清理无数据库记录的残留文件。
- 手动管理:支持手动删除单集或整部剧集。
- Linux / macOS / Windows
- Go 1.23+ (如需自行编译)
直接下载编译好的二进制文件 (推荐): 从 Releases 页面下载对应系统的版本,解压后直接运行。
源码编译:
git clone https://github.com/yourusername/hometv.git
cd hometv
go build -o hometv .
./hometv启动后,浏览器访问 http://localhost:8080。
- 添加视频: 点击右上角“视频爬虫”,输入目标网站的剧集 URL。
- 观看: 在主页点击剧集卡片进入播放页。
- 刷新: 点击“刷新全部”或单个剧集的“刷新剧集”按钮,系统会自动检查并下载最新集数。
- 设置: 在剧集卡片上点击“起始: 1”按钮,可以设置该剧集的起始集数(例如设置为 10,则刷新时会自动跳过 1-9 集)。
data/: 存储数据库文件 (videos.json,series.json)。uploads/: 存储下载的视频文件(按 ID 分目录)。templates/: HTML 模板文件。static/: 静态资源 (CSS, JS)。
# 运行开发服务器
go run .MIT License