自动匹配IPTV本地组播源的小服务
国庆快乐!之前因为旅居和家里老人看电视问题,自己维护了一套自用的组播源,目前支持的区域有限。最近运营商开始上线4K HLG频道,未来的组播质量会提高很多,看到很多大佬在更新各地各运营商组播列表,但是缺少一个规范化或者易用的方式,而且很多网络环境下,大家组播转单播终端ip端口都不相同,所以利用Cloudflare Workers/KV/R2的纯边缘架构做了一个可以自动识别并匹配组播源的服务。它的核心就是一个“智能”的 URL:https://iptv.laobaitv.net。这个链接会自动识别你访问 IP 的省份、城市、运营商(ISP)信息,然后从直接返回最适合你当前网络的组播播放列表。对于播放器,你只需要在你的播放器(如 TiviMate, Perfect Player, iPLAYTV 等)里添加这一个 M3U 播放列表地址,就完事了。无论你身在何处,它都会尝试给你匹配最本地化的源。对于浏览器,如果你用电脑或手机浏览器打开这个地址,你不会直接下载文件,而是会看到一个我做的数据展示页面。它会显示系统识别出的你的网络信息(IP、地区、运营商),方便你检查自动匹配是否准确。页面上还有可以直接输入 IP、Port 并跳转的功能,方便快速本地化更改(自定义你的组播转单播客户端ip和port)。自动识别总有失误的时候(本服务完全依赖于cloudflare的ip库识别归属地,最近更新了一次这个库的逻辑,导致有些地方识别的很怪,有问题可以把识别错误的ip和信息发给我我看看有没有办法优化),或者你想看其他地区的列表,这个服务也支持完整的 URL 参数自定义,让你拥有完全的控制权。自定义参数选项:ip: 你的 udpxy 路由 IP (例如 192.168.1.1)、port: 你的 udpxy 端口 (例如 4022)、isp: 运营商 (chinaunicom, chinamobile, chinatelecom)、region: 省份 (拼音, 例如 beijing)、city: 城市 (拼音, 例如 zibo)。这个链接会强制服务返回山东-淄博-联通的播放列表,并将其中的 udpxy 地址全部替换为你指定的 192.168.100.1:4200。本项目是为使用 udpxy 将组播转单播的用户设计的。播放列表默认使用的 udpxy 地址是 192.168.2.1:4022。如果你的 udpxy 地址和端口不同,请务必使用 ip 和 port 参数来指定。关于 udpxy 的部署,可以参考我写的这篇详细教程。目前支持地区(持续更新中…这都是我呆过的地方,也希望大家帮我添加和测试新的地区,我可以协助):中国移动: 山东淄博市、中国联通: 北京市、山东淄博市、中国电信: 贵州省、新疆维吾尔自治区。如果你的地区不在列表中,服务会尝试回退到一个公共的直播源列表(可用性不保证)。目前用的develop202的咪咕列表 720p的基本都能播放。另外 我这里面都有一套 互联网直播频道,就是虎牙 抖音 等直播的几个频道,基本上是斗地主比赛 dota ti14 或者英雄联盟lpl 周星驰轮播什么的我没事可能挂着看的玩意,希望不要太在意,家里老人都爱看打牌,我自己有比赛看点电竞,就几个频道不是很占位置,大家有好的长期轮播的互联网直播也可以告诉我我看看适不适合放在里面。这个项目目前还很简单,支持的地区也不多。非常欢迎各位大佬帮忙测试,尤其是上面没列出的地区,看看自动匹配和回退功能是否正常工作。如果你手上有其他地区的、可用的组播源 m3u 文件,也非常欢迎提供给我!可以通过回帖或者私信的方式。人多力量大,希望我们能一起把它做得更完善,造福更多折腾 IPTV 的朋友。谢谢大家!
评论已关闭