资讯动态

LunaTV IPTV 直播接入指南:一条 M3U 订阅四步变成分组频道列表

发布时间:2026/10/26 10:11:45 来源:尧图企业网站定制
LunaTV IPTV 直播接入指南一条 M3U 订阅四步变成分组频道列表【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTVLunaTV 是一个可以自部署的 IPTV 直播项目把一条 M3U 订阅地址解析成带分组、带 XMLTV 节目单的频道列表浏览器里直接点播。这篇写给手里有订阅地址、想要开箱即看的自部署用户。先直说部署完是个空壳不带任何内置直播源频道和节目单完全取决于你自己订阅的质量。功能一览功能说明边界 / 限制M3U 订阅解析拉取频道列表按 group-title 自动分好组源必须是可访问的 http/https 地址源挂了它救不了EPG 节目单拉取 XMLTV 数据标出正在播出的节目并自动定位依赖 M3U 与 EPG 中 tvg-id 一致对不上就没有节目单多源并行可登记多条订阅地址一键刷新每个源的频道数独立回填互不影响播放器换源内置 HLS 播放器右侧列出各资源带宽和延迟切最快的换源面板只在当前播放会话内生效不适合谁指望部署完就有频道可看的用户。LunaTV 不捆绑任何频道数据也没有默认源可点。从零到开播的完整流程备好运行环境。执行git clone https://gitcode.com/GitHub_Trending/lu/LunaTV再按 README.md 里的 Docker compose 起容器。此时拿到的就是空壳无任何频道。后台登记源。登录管理页打开「直播源配置」标签填入 M3U 地址EPG 地址与 User-Agent 按需填写或留空。刷新验证可播。点「刷新直播源」系统从上游拉取频道列表并把频道数自动回填进配置表。数字是 0 说明这次没拉到回到第 2 步换地址或换 UA。直播页开播。打开直播页选中刚加的源按分组翻频道点任意频道即可播放频道下方节目单会自动滚动到正在播出的位置。配置项速查字段作用注意事项M3U 地址频道列表的唯一来源订阅一失效频道数立刻归 0EPG 地址XMLTV 节目单来源M3U 头部自带 x-tvg-url 时留空系统会自动识别User-Agent模拟播放器身份过防盗链默认 AptvPlayer 一般够用源要求特定 UA 时再填频道数刷新后自动回填显示 0 代表这次刷新没拉到任何频道实现要点它凭什么秒开频道列表进内存缓存。首次拉取后数据常驻内存之后切分组、刷新页面都走缓存不再重复请求上游源变了回管理页手动刷一次即可作废旧缓存。EPG 流式解析。XMLTV 动辄几十兆src/lib/live.ts 里的解析逻辑用 ReadableStream 逐行读只保留订阅中真实出现的 tvg-id 对应节目不把整个文件灌进内存接口入口在 src/app/api/live/epg/route.ts。换源面板量化对比。基于 ArtPlayer 与 HLS.js右侧列出每个资源的带宽和延迟哪个快切哪个坏源不用挨个排查。出问题先查这里现象可能原因解决办法频道列表是空的订阅失效或源需要特定 UA换有效订阅或调整 User-Agent 后再刷新节目单不显示EPG 地址填错或 M3U 与 EPG 里同一频道的 tvg-id 对不上逐条核对两处 tvg-id 字段是否一致部分频道播不了源流本身挂了与 LunaTV 无关换源或收藏备用频道顶上再进一步把常用频道加入收藏下次换源定位更快。订阅验证通过后记下配套的 UA 和 EPG 地址防止日后配置漂移。多条订阅按内容维度命名源如国内海外翻分组更省事。手里有可用 M3U 订阅的话照上面四步走完就能开播——先部署空壳、填源刷新到频道数非 0再进直播页点播即可。【免费下载链接】LunaTV本项目采用 CC BY-NC-SA 协议禁止任何商业化行为任何衍生项目必须保留本项目地址并以相同协议开源项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑