找回密码
 立即注册
搜索
查看: 5721|回复: 19

[网络] 把IPTV融合进内网,说难不难,说容易那就更不容易了

[复制链接]
     
发表于 2021-8-20 15:44 | 显示全部楼层 |阅读模式
本帖最后由 EraserKing 于 2021-8-20 15:48 编辑

不能算是个教程,因为各地情况都不一样,更多算是个记录吧,中间有些跳坑的过程就略过了
不少教程可能也是抄东抄西的,感觉都是千篇一律的改法,和实际情况不符

光猫:4口光猫,#1=千兆互联网,#2=IPTV,#3 #4闲置未用
光猫#1(Internet)——软路由(OpenWrt, PPPoE)——R7000 (AP)    #2 (IPTV)——IPTV盒子

用是可以用,但是如果要在哪台设备上看电视就得把IPTV盒子拿过去,接网线,麻烦
于是就打算把IPTV整合进内网转成HTTP流媒体,随便用什么设备都可以看了
物理上,光猫在弱电箱,路由器在电视柜,中间其实是留了两根网线的,但是软路由就只有双口,所以必须得用单线复用了,这就麻烦了很多,所以有条件还是多备几条线多留几个网口吧……


然后就是单线复用+软路由设置+组播转单播了
1. IPTV盒子登录信息抓取
已经知道本地IPTV盒子是特殊的DHCP,有附加的字段
将IPTV盒子和电脑相连,使用Wireshark抓取盒子发出的DHCP包,复制Option 12和Option 60的值,抄下MAC地址

2. 光猫侧单线复用
先弄到光猫的超级密码,登录进去看下不同连接的设置
Internet是VLAN 221,绑定到端口#1
IPTV是VLAN 43,绑定到端口#2
先照一般的教程说法,取消两条连接的端口绑定

3. 软路由设置
保留eth1口的PPPoE连接不变
新建一条连接,端口依然使用eth1,协议DHCP,跃点的值要比PPPoE的那条连接大,防火墙新建区域IPTV,然后修改/etc/network,在对应的连接下添加如下选项:
    option macaddr 'MAC地址'
    option hostname 'OPTION 12的值'
    option sendopts '0x3c:OPTION 60的值'

然后启用连接,发现……获得的IP是192.168.1.0/24段的,不是IPTV应该得到的10.x.y.z/21段

猜测原因是因为光猫把这个DHCP请求依然认为是普通的DHCP请求,不是IPTV盒子的,和之前直接插#3 #4的情况一样
网上普通的解决方案是在软路由上启用VLAN交换机,但是不是所有固件都有,此处采用绑定VLAN的方法解决
首先,在软路由的物理连接中自己定义为eth1.43(eth1为WAN口,43为VLAN ID),附加设置依然是上面三条
其次,在光猫的VLAN绑定功能中,添加一条绑定VLAN43在端口#1,到IPTV的连接上
具体原理我也不懂,但是确实这样就可以正常获取10段的IP了

注意虽然光猫的Internet连接那边虽然写了VLAN 221,但是不能也不需要做任何VLAN有关的设置,正常拨号就可以
否则会导致拨号失败,或者拨号成功但是不能上网的问题,具体原理我依然还是不懂,但是坑已经踩过了

4. 组播转单播,HTTP
这个是里面最简单的部分了
开启udprxy转发,节目源从网上找找好心人的列表,然后用VLC看udprxy转换过的URL
正常来说就可以看了,但是会发现有卡顿,甚至断网的情况
搜了半天,要开启IGMP Snooping,这个是在OpenWRT的LAN口上开启就行了
开了之后实测没问题了

5. 恢复IPTV盒子工作
还记得一开始盒子是连在光猫#2口上的?现在插回去发现获取不到IP了,这一步报错
解决方法是到光猫设置里,把IPTV的连接再绑定到#2口上(#1不用勾),Internet连接依然保持全都不勾绑定的状态
实测也没问题,#2口的IPTV盒子可以用,#1口的软路由的“假”盒子也可以用,也不知道原理,反正就是能用
两个倒是不可以一起用,反正盒子会报认证失败啥的错,不过已经无所谓了,毕竟也没有开两条IPTV

6. 附加工作
生成一个M3U8列表

普通的Android盒子可以装KODI然后装IPTV Simple插件,EPG也有现成的
电脑就用VLC或者PotPlayer都可以
手机/平板没试,但是应该能看网络视频的都行(比如nPlayer)?

7. 总结
a. 如果是双线,那大概光猫处不用动,单线的话就得单线复用了
b. 光猫处的端口绑定不见得需要都取消掉,原始的IPTV盒子可能依然需要这个端口绑定的功能来工作
c. 端口绑定如果没有绑定到特定的端口上,把VLAN绑定用上也是可以用的
d. Internet连接依然是不需要特意做VLAN设置,也不能做(至少我这是)
e. 卡顿就开IGMP Snooping了,这个一般能开就能解决问题
f. 最后注意udprxy的端口不要暴露出去了,不然你的网可能就变成全球的直播源了


评分

参与人数 1战斗力 +1 收起 理由
ltycomputer + 1 好评加鹅

查看全部评分

回复

使用道具 举报

     
发表于 2021-8-20 18:52 来自手机 | 显示全部楼层
udpxy和igmp snooping应该没关系
不需要用原来的iptv设备直接放组播的话,根本不用开启igmp snooping
udpxy卡顿可能是绑定接口/缓冲大小/组播订阅更新时间的问题

— from Xiaomi M2012K11AC, Android 11 of S1 Next Goose v2.4.4.1
回复

使用道具 举报

     
发表于 2021-8-20 19:08 来自手机 | 显示全部楼层
有个事情很奇怪,我用福建电信的IPTV,不需要专门设置,往内网上一接就好,不用连IPTV口,之前还用盒子连WIFI直接看,随便移动。有福建电信的其他朋友是同样的情况么
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-8-20 19:12 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-8-20 20:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-8-20 20:08 来自手机 | 显示全部楼层
laodishu 发表于 2021-8-20 19:08
有个事情很奇怪,我用福建电信的IPTV,不需要专门设置,往内网上一接就好,不用连IPTV口,之前还用盒子连WI ...

我这也一样,盒子那里搞到密码改下设置,随便连路由器
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-8-20 20:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
 楼主| 发表于 2021-8-20 20:19 | 显示全部楼层
dongjuanyong 发表于 2021-8-20 18:52
udpxy和igmp snooping应该没关系
不需要用原来的iptv设备直接放组播的话,根本不用开启igmp snooping
udpxy ...

实测还是得开,卡顿是指整个网络(包括Internet),不是指IPTV播放不流畅
回复

使用道具 举报

     
 楼主| 发表于 2021-8-20 20:24 | 显示全部楼层
str007 发表于 2021-8-20 20:10
同iptv+openwrt+r7000的组合,表示你走了很多弯路
1、有r7000,就根本不需要在软路由上进行任何iptv相关设 ...

各地网络情况不一样,所以你的方法在我这99%不适用

首先,R7000(merlin)在AP模式下,LAN口设置没有IPTV功能,我记得路由模式下有,你的R7000是不是别的什么模式
其次,各地的盒子认证方法不同,我这是特殊的DHCP,需要添加自定义的参数在DHCP包里,merlin没有提供这种自由度,OpenWRT可以
最后,如果是标准的PPPoE,那我就直接在OpenWRT上单线双拨了,然后写一条静态路由,大概也不用折腾VLAN
回复

使用道具 举报

     
发表于 2021-8-20 20:56 来自手机 | 显示全部楼层
以前搞过,不过我不看电视就吃灰了(还有个吃灰的原因是节目源偶尔会更新,盒子每次开机获取没问题,自己留存就得手动更新了)

IGMP Snooping是要做的,要不整个网络内全是组播泛洪,就像每个端口都同时看IPTV所有台一样

—— 来自 OnePlus KB2000, Android 11上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

     
发表于 2021-8-20 22:01 | 显示全部楼层
本帖最后由 dongjuanyong 于 2021-8-20 22:25 编辑
EraserKing 发表于 2021-8-20 20:19
实测还是得开,卡顿是指整个网络(包括Internet),不是指IPTV播放不流畅

我的意思是只用udpxy看转换后http协议的iptv,而不使用任何需要rtp组播协议的设备(普通iptv设备)
刚才专门抓包看了下,播放时局域网端口没有多余的广播包
回复

使用道具 举报

     
发表于 2021-8-20 22:02 来自手机 | 显示全部楼层
mark,对我来说是很难的东西
回复

使用道具 举报

     
发表于 2021-8-22 23:19 来自手机 | 显示全部楼层
str007 发表于 2021-8-20 20:10
同iptv+openwrt+r7000的组合,表示你走了很多弯路
1、有r7000,就根本不需要在软路由上进行任何iptv相关设 ...

我也是成都电信,最近在考虑做iptv融合,这样搞电信盒子还能用吗

—— 来自 OnePlus GM1910, Android 11上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-8-23 10:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-8-23 10:55 | 显示全部楼层
算了。我还是继续用VLAN吧。
回复

使用道具 举报

     
发表于 2021-8-23 13:53 | 显示全部楼层
我这个光猫里根本进不去设置,要了超级密码也没用,改了桥接之后连进都不让进了
回复

使用道具 举报

     
发表于 2021-8-23 14:33 | 显示全部楼层
hui.w 发表于 2021-8-20 20:08
我这也一样,盒子那里搞到密码改下设置,随便连路由器

我这也是,福建电信,你们有试过拿iptv源吗
回复

使用道具 举报

     
 楼主| 发表于 2021-8-23 21:18 | 显示全部楼层
robit 发表于 2021-8-23 10:55
算了。我还是继续用VLAN吧。

嗯,如果VLAN能搞定那就VLAN
这个毕竟控制权在自己的设备上,我这个绑定VLAN的方法需要光猫也支持
其实最简单的应该是双线多口软路由,直接减少一大半工作量
回复

使用道具 举报

发表于 2021-8-24 00:50 | 显示全部楼层
魔都的光猫已经没法进管理员把网口绑定vlan了
回复

使用道具 举报

     
发表于 2021-8-24 11:37 来自手机 | 显示全部楼层
之前我也是因为到客厅就一根网线搞了网管交换机单线复用,后来联通不知道升级了啥,VLAN非常奇怪,光猫上看id没变,dhcp能拿到IP等信息,但是网络死活不通。折腾了一晚上最后就上光猫看了下可以去掉IPTV的端口绑定。他娘的直接简化了内网改成什么玩意都直连路由器就好了,还省了一个交换机。

—— 来自 HUAWEI NOP-AN00, Android 10上的 S1Next-鹅版 v2.4.4.1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-6-20 09:07 , Processed in 0.112795 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表