本帖最后由 rainmusic1 于 2020-8-22 23:44 编辑
特别鸣谢 @footlog 在padavan固件设置上给了很多指导,确实很nice的人。
本人小白一枚,以下内容说的不对的地方请大家指正。
我可能说的比较乱,有需要的人慢慢看。
共3个部分,第一部分潘多拉固件的实现方案。第二部分padavan固件的实现方案,第三部分EPG回看电脑手机盒子实现方案。
家里主要设备:光猫、K2P在书房,K3当AP在客厅(K2P有线连接K3)
所有方案都是光猫internet桥接模式,iptv桥接模式,光猫不进行任何设置。
iptv回看ip为192.168.28.9内网地址。
抓包请参考论坛相关教程。
一、潘多拉固件(LEAN R9.5.1)实现方案:
光猫internet口接K2P WAN口,光猫iptv口接离WAN口最近的那个LAN口(潘多拉固件里面是LAN4)
1、网络->交换机,设置交换机换分vlan(按图设置,设置好后保存应用)
2、网络->接口,新建iptv接口,跃点20,wan pppoe拨号那里跃点填10(忘截图了),数越小优先级越高。本人河北电iptv为ipoe认证,须填写STBID、option60、盒子的MAC地址才能分配iptv内网ip。
3、安装相应软件,由于LEAN大神R9.5.1固件的软件源不能更新修改下地址。
刷新软件列表,分别安装:1、mcproxy(igmpproxy软件源里没有,用这个也可以)2、undpxy及luci-app-udpxy(用于转http播放)3、mwan3(负载均衡,设置策略,用于回看走iptv内网)
4、设置mcproxy(disable前加#注释掉,使其启动,pinstance proxy1: eth0.3 ==> "br-lan" 中 eth0.3是iptv接口,br-lan是本地lan,在网络->接口界面上有显示 )
5、在network lan区域,添加 option igmp_snooping '1' 开启组播侦听。
6、启动udpxy(1.bind ip/interface 填写br-lan 2. 端口看自己喜好合理填写 3.source ip/interface 填写eth0.3 iptv接口,其余选项按图设置)
成功后的效果图
7、网络->负载均衡,进行负载均衡设置,按图设置就行。
192.168.28.0/24 是我的iptv回看地址,请根据自己的地址进行修改。
8、防火墙设置
9、关闭sfe加速,跟mwan3好像有冲突,开启状态iptv不能回看。
tracert 192.168.28.9 (此ip为河北电信内网回看地址) 已经默认走iptv内网10.x.x.x网关了。
至此潘多拉固件设置完成,上个节目回看效果。
二、Padavan固件(荒野无灯大神固件)实现方案:
光猫internet口接K2P WAN口,光猫iptv口接离WAN口最近的那个LAN口(Padavan固件里面是LAN1)
为加深理解,可以参考footlog的两篇大作。
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=341748
1、设置iptv的vlan 先在(外部网络wan)界面上设置如下:(Lan1划进Vlan3作为iptvVlan端口) 2、(内部网络lan)iptv项中相关设置 3、在自定义设置->脚本->路由器启动后执行,添加如下脚本代码:
switch vlan set 3 0001010 0 0 ---u-t- #(外部网络Wan)界面设置完的后续设置
ifconfig eth3.3 hw ether 54:93:59:xx:xx:xx #电信盒子的mac
udhcpc -i eth3.3 \ #iptv Vlan接口
-s /tmp/udhcpc_viptv.script \
-p /var/run/udhcpc_viptv.pid \
-V HEITV \ #option60
-C \
-x hostname:00100399006068901613549359xxxxxx \ #电信盒子的STBID
-O subnet -O router -O hostname -O nisdomain \
-S -d
#由于河北电信iptv的内网的网关是动态分配的,所以编写脚本使之能自动获取iptv网关地址后设置静态路由和iptables
sleep 10
logger -t "[iptv static routing table set]" "Starting..."
iptv_connected=0
until [ $iptv_connected == 1 ]
do
iptv_gw=`ip route | awk '$0~"metric 10" {print $3}'` #从路由表读取iptv网关地址
#logger -t "[iptv static routing table set]" "$iptv_gw"
if [ -z "$iptv_gw" ]; then #未获取到IPTV网关地址,等待60秒后继续监测
logger -t "[iptv static routing table set]" "Fail. Wait For 60s"
sleep 60
else
logger -t "[iptv static routing table set]" "Successful. iptv_gw:$iptv_gw" #获取到IPTV网关地址后,设置标志位跳出循环。
iptv_connected=1
fi
done
ip route add 192.168.28.0/24 via $iptv_gw #用获取的IPTV网关地址,进行静态路由和iptables设置
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.28.0/24 -o eth3.3 -j MASQUERADE
至此padavan固件相关设置完毕。
三、电脑手机盒子EPG回看实现方案
代码不详细介绍了,说下大体流程。(后附Asp编写的源代码给大家,多年不写代码就asp还稍微熟悉,界面简陋未做美化,功能正常)
利用asp远程读取EPG Xml文件,根据本地iptv回看地址,自动生成播放链接。如:rtsp://192.168.28.9/PLTV/8888891 ... 4239-20200306223301
PC端,手机端,电视盒子上安装VlC播放器,点击网页上的链接后会自动打开vlc进行播放,可拖放进度。(我的N1盒子自带的电视猫浏览器不能自动打开vlc,安装了飞视浏览器问题解决)
简单说明:
1、编辑文件里iptv.xls 中的iptv_url为自己本地的回看地址,Channel_Name也可随意改,但尽量不要有特殊字符,因为自用没写验证和容错相关代码。
2、Api_Channel_Name对应的是远程XML的读取参数,必须不能动的。如果你能看懂Get_Epg.Asp里面的代码,知道是从哪里获取的EPG信息,你可以添加对应的Api_Channel_Name来增加你的回看列表。
3、Api_Channel_Name为空的记录,不会生成播放链接。
必要的运行环境:
asp的执行环境,IIS或者IIS的替代软件(我文件里自带的AspWebServer,xp win7支持,win10需要自己找一下能用的版本,或者你修改好excel文件后整体上传到支持asp的免费空间也行)
简单上几个图:
请原谅我龌龊的回复可见及收取1币。大家看完演示在看需不需要购买。
|