AI时代真的给人带来了无限可能,之前不敢想的事情现在都可以做了。个人对 LunaTV 和 LibreTV 都不甚满意,LunaTV 功能太复杂了,而 LibreTV又太简单,页面太赛博朋克了,不是很喜欢。于是借助 AI,我自己实现了我的个人影视站。

为什么要自己再做一个

其实很早之前我就自己搭建过影视站点,只不过用的都是传统的基于PhP的CMS模板,例如海洋CMS。

但是用户体验很不好,管理员需要在后台把资源采集到数据库里,这个过程非常的慢;另一方面, 像海洋CMS这种网站的前端模板都很不好看,要么就要付费定制,于是不如从头自己做。

LibreTVLunaTV 事实上和传统的 CMS 站点不太一样,其本地不需要保存采集源,而是直接调用采集源提供的接口来搜索和获取数据,然后动态的展示出来,这也得益于前端技术的快速发展。

LibreTV太简单

我不喜欢LibreTV的地方在于它的赛博朋克风格实在难以适应,个人更喜欢小清新和暖色调的网站,另一方面,LibreTV没有我想要的弹幕功能,而且早已经不再维护了。

LunaTV太复杂

而LunaTV至初始作者停更后,社区的一个大佬SzeMeng76接下来更新的重任。新继任的作者非常频繁的维护和更新,从 v4.3.1 版本开始,持续迭代至当前 v5.9.3,累计新增 60+ 重大功能模块,400+ 细节优化。

但是正如社区一个小伙伴评论的,作者似乎什么都想做,但是呈现的效果却不完美。例如首页Netflix风格的Banner其实并不好看,如果不开启AI功能,还会有一个持久占位的空banner. 不知道是不是因为功能太多的原因,在切换URL地址的时候,有非常明显的卡顿。

另外一些功能完全没必要添加:例如网盘搜索,M3U8下载,Telegram认证,4K超分辨率,多人观看,Youtube等等功能,这些都是一些完全无用或者无意义的功能。例如M3U8本身清晰度就不高,要下载当然是去网盘下载原视频4K分辨率的。超分辨率一般电脑根本带不动。至于多人在线观影,看视频的大多都是宅男宅女,哪有朋友一起看!

最后要讲的是最早实现的弹幕功能,其实弹幕并不精准,经常会有其他剧集的弹幕混杂进来,体验较差。

我实现了哪些功能

我实现了我认为一个影视站应该具备的最最基础的功能,例如:

  • 豆瓣推荐 - 首页展示热门和高分影视内容
  • 多源视频搜索 - 支持自定义多个视频源 API,聚合搜索电影和电视剧
  • 预测速 - 对搜索到的视频预测速和延迟,帮助用户选择最佳视频
  • 高级播放器 - 基于 Artplayer,支持 HLS/M3U8 流媒体播放
  • 快捷键支持 - 丰富的键盘快捷键,提升观看体验
  • 弹幕系统 - 手动设置接口,实时抓取最新官网弹幕
  • 去广告功能(实验功能) - 并不总是生效,因为采集站的广告片段特征越来越少
  • 片头片尾跳过 - 自动跳过片头片尾,可自定义跳过时间点
  • 播放历史 - 自动保存观看进度,随时继续观看
  • 收藏管理 - 收藏喜爱的视频,方便快速访问
  • 灵活配置 - 可视化管理视频源和弹幕源,支持导入导出

网站截图:

如何部署

无服务器部署

VercelEdgeOnePage 都可以很好的兼容Next.js的项目,所以Fork本仓库,然后一键部署即可,无需额外复杂的环境变量

Docker本地部署

也很简单,一行命令即可

1
docker run -d --name nexttv -p 3000:3000 ghcr.io/seqcrafter/nexttv:latest

然后就可以在http://localhost:3000观看了。

弹幕功能如何开启

可以查看前面的文章为影视站添加弹幕功能中提到的两个项目来部署即可,两个项目都完美兼容本网站。

LogVar:

fetch_danmu:

假设你是在netlify上部署的LogVar项目,那么你拿到的url大概率是这样的:

1
https://{your project name}.netlify.app

那么,在我们网站的设置页面,你的接口应该填写

1
https://{your project name}.netlify.app/{token}/api/v2/douban

然后就OK了,系统如果检测到你的视频有豆瓣的ID,就会自动抓取弹幕了!

多说一下,LogVar项目推荐的环境变量:

  • CONVERT_COLOR: 可以随机为弹幕生成颜色
  • DANMU_LIMIT: 随机取样限制弹幕数量,弹幕数太多会爆炸
  • ENABLE_EPISODE_FILTER: 避免抓取到错误链接

演示站点

你可以访问

来体验我的影视站。

注意事项及免责声明

  • 本项目为空壳播放器,自带唯一播放源不稳定,仅供学习使用,请自行更换播放源
  • 本项目保持轻量(其实复杂的我也不会),不添加用户登录以及认证功能,不添加成人源隔离
  • 本项目完全由 Claude Code 生成,仅作为学习参考,请勿用于商业用途