去年买的话说 RT AX86U Pro ,只是想翻墙用的,接上篇帖子 t/1025735 想看 IPTV 试了 TVBox 等一众免费的方法,除了能看国外电视台的好处外,实在是卡的不行 按照家中的光猫型号搜了下:ZXHN F4610U 好像没有什么有用的信息,要么拿到超管密码,要么改桥接到路由器再 PPOE 拨号 但是我懒得联系联通,也不喜欢 3 个遥控器来回换(电视、机顶盒、安卓盒子,然后折腾了下,目前拓扑图是这样:
首先在华硕路由后台-内部网络(LAN)-IPTV
使用 DHCP 路由选 Microsoft
启动组播路由 选 启用
Default IGMP version 选 IGMP v3
Enable Fast Leave 选 启用
UDP 代理( Udpxy ) 我填了 23234(跟下面的 IPTV 播放地址一致)
然后找到北京联通 IPTV 组播转单播的源地址,在 github 有大佬抓到了播放地址: https://github.com/qwerttvv/Beijing-IPTV 于是乎,把家中的 Mini PC 利用起来,装好 apache ,把 m3u 拖到 web 服务目录下,再把 m3u 中的局域网 IP 改为路由器 IP:
#EXTM3U x-tvg-url="http://epg.51zmt.top:8000/e.xml.gz" #EXTINF:-1 tvg-name="北京卫视",BRTV 北京卫视[高清] http://192.168.123.1:23234/rtp/239.3.1.241:8000 #EXTINF:-1 tvg-name="BTV 新闻",BRTV 新闻[高清] http://192.168.123.1:23234/rtp/239.3.1.159:8000
192.168.123.1 替换为路由器的地址
最后,电视盒子里用 Kodi ,装好 IPTV 插件,源地址选我的 Mini PC 在内网的 IP 地址/m3u 文件路径,然后就可以高速无卡顿的播放 IPTV 了,同时还支持 egp 节目单 时序图呢就是这样了:
在千兆宽带面前,播放电视节目也才占用了 1~2mb ,即便是 4k 频道也才 20~30mb ,绰绰有余啊
本以为到这就可以了,但是有点上头,节目源要更新啊,IPTV 播放地址也要更新啊 又找了 ChatGPT 写了这个 power shell 脚本,每天 7 点定时更新播放地址和节目单:
$Url = "https://raw.githubusercontent.com/qwerttvv/Beijing-IPTV/master/IPTV-Unicom.m3u" $OutputPath = "C:\Apache24\htdocs\iptv.m3u" $OldUrl = "http://192.168.123.1" $NewUrl = "http://192.168.1.1" $EpgGzUrl = "http://epg.51zmt.top:8000/e.xml.gz" $EpgGzOutputPath = "C:\Apache24\htdocs\e.xml.gz" $EpgOutputPath = "C:\Apache24\htdocs\e.xml" # 下载 IPTV 文件内容并替换字符串 $COntent= Invoke-WebRequest -Uri $Url -UseBasicParsing $NewCOntent= $Content.Content.Replace($OldUrl, $NewUrl) # 保存 IPTV 文件,确保使用 UTF-8 编码 $NewContent | Out-File -FilePath $OutputPath -Encoding UTF8 # 下载 EPG gzip 文件 Invoke-WebRequest -Uri $EpgGzUrl -OutFile $EpgGzOutputPath -UseBasicParsing # 解压.gz 文件 function Decompress-Gzip($inputPath, $outputPath) { $InputStream = [System.IO.File]::OpenRead($inputPath) $GzipStream = New-Object System.IO.Compression.GzipStream($InputStream, [System.IO.Compression.CompressionMode]::Decompress) $OutputStream = [System.IO.File]::Create($outputPath) $GzipStream.CopyTo($OutputStream) $GzipStream.Close() $InputStream.Close() $OutputStream.Close() } # 调用解压函数 Decompress-Gzip -inputPath $EpgGzOutputPath -outputPath $EpgOutputPath Write-Host "Both IPTV and EPG updates are done."
现在基本满足了使用需要了
最后再说下华硕这个路由器,自带内网穿透、VPN 、装了梅林固件还能翻墙,是真的强