Skip to content

yszl666/hometv

Repository files navigation

HomeTV - 个人视频采集与播放系统

HomeTV 是一个基于 Go 语言开发的轻量级视频采集、管理和播放系统。它专为个人用户设计,支持从特定视频网站自动爬取剧集、下载 m3u8 视频流、管理本地视频库,并提供简洁的 Web 界面进行播放。

✨ 主要功能

  • 📺 视频播放

    • 简洁的 Web 播放界面,支持手机和电视大屏适配。
    • 支持 HLS (m3u8) 流畅播放。
    • 自动标记已看:观看进度超过 95% 自动标记为“已看”,并自动删除本地视频文件以节省空间(仅保留元数据)。
    • 断点续播:支持起始剧集设置,跳过已看集数。
  • 🕷️ 视频爬虫

    • 输入剧集详情页 URL,一键批量抓取所有集数。
    • 支持设置起始集数,仅下载指定集数之后的视频。
    • 自动去重:智能识别已存在的剧集和集数,避免重复下载。
    • 后台自动刷新:支持一键检查所有已订阅剧集的更新。
  • ⬇️ 下载管理

    • 多线程下载:内置高效的 m3u8 下载器,支持断点续传。
    • 并发控制:智能任务队列,支持任务抢占、自动重试。
    • 实时进度:前端实时显示下载进度条。
  • 🧹 自动维护

    • 空间管理:实时显示磁盘占用情况。
    • 孤儿清理:每小时自动扫描并清理无数据库记录的残留文件。
    • 手动管理:支持手动删除单集或整部剧集。

🚀 快速开始

1. 运行环境

  • Linux / macOS / Windows
  • Go 1.23+ (如需自行编译)

2. 安装与运行

直接下载编译好的二进制文件 (推荐):Releases 页面下载对应系统的版本,解压后直接运行。

源码编译:

git clone https://github.com/yourusername/hometv.git
cd hometv
go build -o hometv .
./hometv

3. 使用方法

启动后,浏览器访问 http://localhost:8080

  • 添加视频: 点击右上角“视频爬虫”,输入目标网站的剧集 URL。
  • 观看: 在主页点击剧集卡片进入播放页。
  • 刷新: 点击“刷新全部”或单个剧集的“刷新剧集”按钮,系统会自动检查并下载最新集数。
  • 设置: 在剧集卡片上点击“起始: 1”按钮,可以设置该剧集的起始集数(例如设置为 10,则刷新时会自动跳过 1-9 集)。

📂 目录结构

  • data/: 存储数据库文件 (videos.json, series.json)。
  • uploads/: 存储下载的视频文件(按 ID 分目录)。
  • templates/: HTML 模板文件。
  • static/: 静态资源 (CSS, JS)。

🛠️ 开发

# 运行开发服务器
go run .

📝 License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors