丢掉电视机 (旧电视怎么用网络盒子看电视)

先说下背景

生命不息,折腾不止。

家里老人在,老人想看传统的电视,每天喜欢看本地频道一些鸡毛蒜皮的新闻。奈何小朋友写寒假作业,客厅被霸占了。 所以就打算折腾卧室的电视,但是没有预留线路,找运营商来又是这会员,那产品的,线路还裸露,比较麻烦(主要是加钱不能忍)。

网上找了一堆app,不过都是短命的,今天可以,明天就不可以了,而且看本地频道还比较少。 网上一搜,这场景还挺常见,好多前辈已经有成熟的折腾方案了。某宝搞一个网红机,开搞。

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

基本信息

坐标:成都运营商:电信

硬件: 运营商光猫, 运营商电视盒子,rax3000m(刷的openwrt),网线若干, tp-link路由器,腾达路由器,电视/手机/平板等

组网& 配置

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

图1 简单组网图

说明

  1. 光猫配置
  • 光猫一共4个口: lan1和lan4 作为网络接口。 lan2和lan3 作为itv的接口
  • 光猫拨号上网,配置为路由模式
  • itv口采用默认方式。
  • 光猫lan1(互联网) 连接到一个tplink路由器,家里其他智能设备上网用。lan2(itv)连接到电视盒子,提供客厅看电视
  1. openwrt配置
  • 光猫lan4 连接到openwrt的wan口。
  • 光猫lan2 连接到openwrt的lan3口。
  • openwrt的lan1口链接到一台路由器上,对其他设备,如平板,手机,电视等提供上网和看电视服务(通过组播转单播)。备注:因为没有预留好线,所以光猫和openwrt都在弱电箱。
  • 这么做有个好处,折腾失败了也不影响原来的网络和电视

踩坑记录

  1. 光猫配置

其实光猫什么都不用改, 就能实现,但是看了网上很多教程,各种折腾,改桥接,vlan绑定啥的。

一开始,查看光猫配置,应该是盲插模式,每一个口都支持上网和看电视。 看了网上教程, 各种vlan配置,因为没弄清楚iptv的鉴权和*放播**方式,按照单线复用的方式随便怎么改都没有成功————后面来看主要是openwrt侧配置得问题。

后面找运营商装维小哥改成这种单口绑定业务的方式,采用双线复用。光猫配置告一段的。

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

图2 光猫互联网配置

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

图3 光猫itv配置

  1. openwrt路由器配置

这里主要两个坑:第一个坑,rax3000m的,这个芯片的原因,其实只有两个口,一个wan口(eth1) ,另外其他的lan1/lan2/lan3 都是eth0这个交换机下的口,这部分可以看下openwrt官方文档的解释。论坛里面,用eth1,eth2,eth3这种区分业务的,rax3000m不适合。

这里,如果需要用到具体物理设备上的lan口,就需要对vlan的tag和untag有一定的理解,保证从eth0这个口,拆分一个单独的vlan,来承载itv的业务,并和物理的lan口进行关联。具体配置如下:

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

图4 openwrt交换机配置

简单解释就是: 从lan3来的包(itv的业务)到lan3口之后,会打上43这个tag,然后eth0这个口也标记(tag)了43, 就可以从eth0 转出去。这里方便转发到lan口下的其他接口,比如w路由器本身的wifi,或者其他路由器。

备注: 这里的vlan,我保持和光猫的配置一样,其实不用,随便一个vlan都可以

这里记住这个vlan, 呆会儿第二个坑会用到。

第二个坑,就是成都电信iptv的鉴权方式。 网上里面说的其实是对的,是用dhcp的方式鉴权,但是准确来说也不对,dhcp发送的option 60 这些参数抓包的时候,确实有,但是这个好像不影响iptv的*放播**。

这里实际的情况是,运营商的盒子会有一个静态的地址,配置上这个静态地址, 链接上运营商光猫的itv口,就可以观看组播适视频了(这个是在光猫上看到端口连接情况,发现电视盒子的信息是静态地址)

基于以上的信息,于是开始配置openwrt。第一个坑已经获取到口,并指定了某一个vlan来承载iptv业务 。 那么在openwrt的接口配置页面,新建一个接口,命名为itv,选择eth0.xx,这个xx就是第一个坑确认的vlan, 然后地址选择静态地址(这里论坛上,都说是dhcp,要发送盒子的mac,scitv这些信息,其实不用),这个静态地址我是和配置和盒子相邻的地址,盒子是100,我就配置101,网关也参考盒子的配置完成。然后防火墙,配置和openwrt的lan口一样。

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

图5 openwrt接口配置

以上就配置完成了。参考论坛里面的其他方法,udpxy,或者msd_lite就可以将组播转单播,用kodi或者vlc等进行观看了。

组播地址,可以在网上获取,自己也可以抓包获取(想看笔者怎么抓包的,可以留言)

至此,折腾完毕。通过http://路由器地址:port/rtp/xxx 就可以观看iptv了。

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

简单总结

  1. 实现以上功能,openwrt的固件版本不重要,各种高功率,软件全的这些固件,这些目前没发现区别。
  2. rax3000m的性能绝对是过剩的, 配置完成后,一部手机,一个极米投影,一个电视,一个平板观看,资源剩余还很多。 后续可以折腾个docker或者python啥的,实现其他功能(只要你想折腾)。

丢掉机顶盒看iptv,电视盒子怎么拿出来看电视

图5 *放播**时资源监控图

  1. 试了kodi和perfect player,vlc。使用vlc和kodi*放播**不会出现卡顿,不过perfect player会卡顿,需要手动修改下perfect player的配置,比如缓存啥的,这个是软件本身的原因。
  2. 不管是kodi,还是perfect player, 在进行频道切换,都会有一些卡顿。大概在2s左右。这个可能是硬伤,解决不了。
  3. 以上操作,小白理解可能会比较吃力, 需要有一点简单的网络知识,什么ip啊,网关, vlan之类的。如果有想了解的,可以留言,大家一起讨论下。
  4. 另外,开始之前,最好多了解下,多学习下,看看其他大佬怎么操作,以及自己的实际情况, 融会贯通,再开始。