news 2026/10/2 2:21:49

LunaTV 直播:M3U 订阅一键变高清频道列表的完整实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LunaTV 直播:M3U 订阅一键变高清频道列表的完整实战指南

LunaTV 直播:M3U 订阅一键变高清频道列表的完整实战指南

【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议,禁止任何商业化行为,任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV

收藏夹里躺着一堆 M3U 订阅链接,想找个能稳定开播、还带节目单的播放器总是不得劲?LunaTV 的直播功能就是干这个的:把一条 M3U 订阅地址变成可分组、带节目单(EPG)的频道列表,在线直接看。这篇走一遍从部署到开播的完整路径,顺带讲讲里面几个容易忽略的机制和踩坑解法。

先把它跑起来:部署和添加 M3U 订阅的方法

LunaTV 仅支持 Docker(或基于 Docker 的平台)部署,按 README.md 里的 compose 配置拉起来即可,一行命令:

git clone https://gitcode.com/GitHub_Trending/lu/LunaTV

有个心理预期要提前打好:部署完是个空壳,不内置任何直播源,订阅得自己收集。然后进入管理页的"直播源配置",把下面四个字段填好,点"刷新直播源",系统拉取频道列表并自动回填频道数:

字段作用填写建议
M3U 订阅链接频道列表的来源支持 http/https 两种格式
EPG 地址XMLTV 节目单M3U 头部带 x-tvg-url 时可留空,会自动识别
User-Agent模拟播放器身份部分源有防盗链校验,保持默认即可
频道数量刷新后自动回填显示 0 说明这次拉取失败

核心解析逻辑在 src/lib/live.ts:拉完 M3U 后解析频道与分组,再按 tvg-id 去匹配 EPG 里的节目。

开播体验:选源、分组浏览、节目单自动跟播

进入直播页,先选一个源,频道按 M3U 里的分组归类展示,点任意频道即播。下方有一条节目单滚动条,会自动滚到当前正在播出的节目位置,不用自己翻。

想换另一个源时,页面里有专门的直播源面板,列出每个源的名称和频道数,点一下就能整体切换,当前用的源会有标记(页面实现在 src/app/live/page.tsx)。

进阶:缓存、流式解析和换源三个隐藏能力

  • 频道列表缓存:频道列表首次访问后被缓存,之后切换分组、刷新页面都是秒开,不会重复拉订阅。源变动后到管理页手动刷新即可,入口在 src/app/api/admin/live/route.ts。
  • 节目单流式解析:EPG 的 XML 往往体积很大,LunaTV 采用逐行流式读取,只保留订阅里实际出现的 tvg-id 对应的节目,避免撑爆内存,接口实现在 src/app/api/live/epg/route.ts。
  • 播放器换源:播放器基于 ArtPlayer 与 HLS.js,右侧面板列出各资源的带宽与延迟,哪个快切哪个。

播不出来?对照这三条排障

现象原因解法
频道列表为空订阅源失效,或需要特定 UA换一个有效订阅,或调整 UA 后重新刷新
没有节目单EPG 地址填错,或 EPG 与 M3U 里的 tvg-id 对不上核对两个文件里同一频道的 tvg-id 字段是否一致
部分频道无法播放源本身失效,与 LunaTV 无关换源,或把能用的收藏备用

一句话收尾:手头有 M3U 订阅、想要开箱即看直播的用户直接按上面的步骤走就行;下一步建议把常用频道加入收藏,切换起来更省事。

【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议,禁止任何商业化行为,任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/2 2:20:48

Python ag-funutils 包详解与实战案例

1. 引言ag-funutils 是一个面向 Python 的函数式编程工具包,旨在为开发者提供一组轻量、易用且可组合的工具函数,帮助简化日常开发中的数据处理、集合操作和函数组合等任务。它借鉴了函数式编程语言中的常用模式,同时保持了 Python 的简洁风格…

作者头像 李华
网站建设 2026/10/2 2:20:48

5分钟上手Label Studio:多模态数据标注完全指南

5分钟上手Label Studio:多模态数据标注完全指南 【免费下载链接】label-studio Label Studio is a multi-type data labeling and annotation tool with standardized output format 项目地址: https://gitcode.com/GitHub_Trending/la/label-studio 标注队列…

作者头像 李华