本文最后更新于 2024年10月16日 晚上
背景
最近折腾光猫桥接的时候发现北京联通宽带是可以直接看 iptv 的,不用交钱开通功能。
由于我用的 tplink路由器,不像openwrt 可以直接组播转单播,所以没有可以直接参考的帖子。
解决办法
我首先参考 北京联通IPTV实现无线化 这篇帖子,将iptv功能绑定到vlan 3964, 开启路由功能,LAN口不绑定,Internet vlan 3961, 桥接。
然后在绑定配置里面将几个vlan都绑定到 LAN1 口。然后在路由器的设置界面,选IPTV口,上网和IPTV单线复用,机顶盒连接方式我选的是无线,因为有线会占用一个LAN接口。
现在电视应用连接对应的wifi就可以看直播了,但是没法上网。要想家里所有设备都能看直播,同时还能上网,需要一个中间设备将组播转为单播,我使用的 udpxy.
udpxy
需要一台设备能同时连接iptv网络和正常internet网络, 我这里使用的是我的 archlinux 笔记本,wifi 连 iptv 的专用wifi, 网线连到路由器上网。我的笔记本网络如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| ➜ ~ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether b0:25:aa:72:1f:7c brd ff:ff:ff:ff:ff:ff inet 192.168.2.126/24 brd 192.168.2.255 scope global dynamic noprefixroute enp3s0 valid_lft 164620sec preferred_lft 164620sec inet6 fe80::ab42:80e7:29dd:1065/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether c0:bf:be:d4:ed:d8 brd ff:ff:ff:ff:ff:ff inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp4s0 valid_lft 544964sec preferred_lft 544964sec inet6 fe80::34f1:77e2:641c:7142/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:ca:2a:64 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: Meta: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UNKNOWN group default qlen 500 link/none inet 198.18.0.1/30 brd 198.18.0.3 scope global Meta valid_lft forever preferred_lft forever inet6 fe80::1e77:da65:dc21:d301/64 scope link stable-privacy proto kernel_ll
|
enp3s0
是有线,wlp4s0
是无线,连的iptv wifi, 我的 udpxy 服务命令为
1
| /usr/bin/udpxy -a enp3s0 -m wlp4s0 -p 23234 -T -S -B 256kb
|
这样,udpxy 服务的地址就是 http://192.168.2.126:23234
, 可以参考 udpxy-IPTV 进行使用。
这下家里所有设备都能同时看电视和上网了。
参考资料
- 超完美超简单任意多终端看IPTV电视方案-TP LINK BE6500路由器为例
- 北京联通IPTV实现无线化
- udpxy-IPTV
- Beijing-IPTV