使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。详细活动规则,请猛戳此链接

第一次在zmd上写文章,请轻喷。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

前言

家里新升级的200M联通光纤,套餐内含IPTV。为啥用联通呢,一方面是家里最早20M光线的时候就用的联通,跟手机捆绑了。另一方面,这边联通直接能获取外网IP,搞DDNS,建个站,端口映射,搭个代理服务器啥的很方便,有木有使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

以前家里一直想装iptv,现在终于装了,还有些小激动呢。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播很快,联通小哥拿来了iptv盒子。拿到盒子傻眼了,居然只能用有线连接,都什么年代了!当然后来了解到因为iptv盒子是通过DHCP鉴权来获取IP地址的,无线支持不好。(有些地方用pppoe)

如果不想折腾,家里恰好又没有布线,最简便的方法就是购买一套电力猫,就是下面这个,即插即用,不需要任何配置。


TP-LINKTL-PA1000套装1000M千兆有线电力线适配器两只装电力猫穿墙宝支持IPTV搭配无线路由器使用249元京东去购买

但是,我加本来有个网络盒子,再加一个盒子,电视机还要在两个输入源中间切来切去,麻烦啊。于是想是否可以把iptv盒子功能移植到网络盒子上,弥补网络盒子看直播比较卡的不足。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播而且,这个iptv盒子是个辣鸡啊使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播界面粗糙,操作卡顿。。。


本文只是一个抛砖引玉的作用,因为各地的运营商对iptv 光猫的配置都不太一样,不一定全部都适合,但是相关思路应该是一致的。



最终效果

无论是有线连接还是wifi连接的设备,都可以流畅观看iptv直播。

在网络盒子上安装超级直播或者同类软件,把iptv直播源加进去,可以实现电视播放。ios安装nPlayer ,安卓使用VLC或KODI,电脑使用PotPlayer或VLC,可以实现多终端独立播放直播。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播换台互不影响。

本文方法只是一个参考,我本人也不是很懂高深的网络技术,iptv这个跟各地运营商的配置关系很大,不一定所有地区都适用。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

缺点就是不能看iptv提供的回放和点播,点播多半要钱就不多说了,回放有些人还是需要的。但是本地iptv不提供CCTV3568套!使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播要回播何用!?


我家的设备

1.光猫:华为 HG8321R, 联通送的。光猫需要获取管理员密码。注意,这个密码不是光猫背后贴纸上的密码,最最最省事的就是大家发挥聪明才智问一下联通宽带安装师傅使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播,当然,如果你不问,就像我一样,那就只能走破解光猫的道路,而且各家光猫破解方法各异,可以百度解决。注意:光猫的管理员登陆地址与普通用户地址不同,例如光猫后面贴纸上登陆地址是192.168.2.1,那管理员账户登陆地址就是网站是192.168.2.1/cu.html。

2.梅林系统的路由器:华硕AC66U-B1 ,刷了梅林系统 ,就下面这个。原理上应该能刷梅林的路由器都可以使用。理论上华硕原生系统也可以。


华硕(ASUS)RT-AC66UB1游戏路由1750M双频/低辐射/5G信号穿墙/广覆盖智能路由器/支持AiMesh组网649元和AC68一样的CPU AC66的升级版京东去购买


3.IPTV盒子:海信IP903H ,联通赠送

4.电视盒子:斐讯T1 ,自己购买的,家里主力电视盒子。


IPTV网络分析

IPTV盒子使用时,连接方法是网线连接光猫LAN2口和iptv盒子。通过进入盒子设置界面(密码6321,不同盒子默认密码不同,可以自行百度),进入设置后查看有线连接,发现盒子通过HDCP鉴权获取IP地址。


当前连接模式为DHCP鉴权当前连接模式为DHCP鉴权

当前连接模式为DHCP鉴权


我在网上查了一下DHCP鉴权,简单来说就是DHCP服务器为iptv机顶盒分配IP地址时不是直接分配,需要iptv盒子发送请求时携带option信息,例如编号为60,61,125等,用于验证这台设备(也就是iptv盒子)的合法性。

从设备信息可以看出,盒子获取了39开头的IP地址,但是如果讲光猫LAN2口直接接到笔记本电脑上,就算MAC地址修改为跟盒子一致,也只能获取到10开头的IP。而这些option信息有些是加密的,无法通过抓包得到,也就无法模拟iptv盒子获取一个合法的IP地址。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播


等本以为无望了,后来在网上翻帖子的时候发现直播是组播,组播协议igmp有v1~v3三个版本,一般貌似都是igmp v2版本协议。它的特点是不需要IP验证的,只有回放点播才需要(包括IPTV的用户名密码,平台那些,也是回放和点播需要,直播不需要验证)!因此可以直接绕开DHCP获取IP这一步,直接搞定直播即可。

组播,我个人理解像我们听的调频fm,只要找到对应频道,就可以收听。每个电视频道对应一个组播地址,只要加入这个组,就可以获取对应的电视节目信息。换台的话,就是退出这个组,再加入别的组。

了解这些后,最重要的,就是要找到组播地址了。下面介绍一下抓包获取组播地址的方法。


抓包获取组播地址

抓包的原理是,将iptv盒子接收发送的信息经过一台电脑,那这台电脑装上相应软件就能抓到经过它的包,这些包里就有我们需要的组播地址。其实很多人都卡在了抓包这一步,索性用网上搜到的别人抓好的地址,但是我试过那些,都不好用!还是自己动手吧。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播下面分析几个方案

方法一  有带镜像功能的交换机或路由器(openwrt),可把经过iptv盒子对应路由器或交换机lan口上的数据包镜像到另一个lan口,电脑插到那个lan口上,就可以抓包。家里没有这类设备,所以只谈下理论。

方法二  Throwing Star LAN Tap

就是下面这个硬件

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播



使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播


万能的网友自制了一个,其实连接关系很简单,制作稍麻烦一点。抓包时抓两遍,上行抓一次,下行抓一次。

自制 Throwing Star LAN Tap_RootXblog.sina.cn去看看

方法三  笔记本电脑双网卡 

这是我用的方案。因为要抓包同时需要让盒子能正常启动看直播。也就是DHCP鉴权要能通过,就不能使用有线网卡与无线网卡桥接的办法。

偶然想起来,当年买的小米盒子3,最为诟病的就是它的wifi连接不稳定,播放内网的高清电影基本上废掉,而且盒子本身不带RJ45网口!后来买了跟盒子配套的USB网卡。下面是小米商城地址,就是这个。


其实网上USB网卡就几十块钱一个,买回来装上驱动就能用使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

插到电脑上,装上驱动,笔记本就变成了双网卡使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

电脑上需要提前准备好软件 

Wireshark  抓包软件

EmEditor 用来编辑整理抓好的地址

VLC Player 用来播放直播视频

找2根网线,一根从光猫LAN2口连到笔记本自己的网口,一根从小米USB网卡接到iptv盒子上。电脑上进【网络与共享中心】--【更改适配器设置】里将网卡同时选中,选择【桥接】。

这时候打开IPTV盒子电源,试试看。不出意外的话,盒子正常启动,进入IPTV界面。测试没有问题,我们就可以开始抓包了。


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

关闭iptv盒子电源,打开Wireshark,可以看到主界面上列出来了所有的网卡,双击「本地连接2」,也就是小米USB网卡。这时候Wireshark已经开始监控网口的数据包了。


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

启动iptv电源,很快,Wireshark上就有很多数据在滚动了。直到盒子进入iptv主页面,关闭盒子电源,抓包的工作就完成了。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播是不是很简单。

盒子连接到联通服务器后,就会从服务器获取所有频道列表和地址,这些信息已经被我们抓下来了。接下来我们开始从包里找地址了。这步比较头疼使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播原因是各地iptv地址传输的格式或者规范不同。有些是找「ChannelList」关键字有些是找特定大小的包,其实都不适用于我家这个。经过苦苦寻找,终于找到,现在把方法分下一下。(可能不适用于所有地区)

首先在上面一栏中输入http回车。


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

然后在右侧的Info一列中寻找「frameset_builder」。仔细找的话,没几行就能看到。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

找到之后在上面点右键,选择「追踪流」--「HTTP流」。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

内容很多,可以直接在下面搜索框中以「CCTV」为关键字搜索。就可以快速定位到相关信息,注意那个「ChannelURL」等号后面的地址,形如「igmp://xxx.x.xx.xx:xxxx」就是cctv1的组播地址。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

你会发现一段一段的有类似的格式,「jsSetConfig」开头,有「ChannelID」、「ChannelName」、「ChannelURL」等信息组成。有多少个频道就有多少段。

为什么CCTV1后面有很多「……」符号呢,因为这是用GB2312编码的文字,也就是汉字,所以在ASCII码模式下显示不出来,如果频道名称「ChannelName」全是中文,那就全部显示成了「……」。这个不要紧,后续会通过一些方法转换。

有了地址后,可以赶紧来测试一下。先去「网络与共享中心」删除刚刚建的「网桥」,光猫LAN2口直接连接到笔记本上,然后打开vlc palyer,挑选一个刚刚获取到的组播地址,把igmp替换为rtp,也就是播放地址是rtp://xxx.x.xx.xx:xxxx,使用VLC播放器,选择【媒体】--【打卡网络串流】 输入地址。不出意外,可以直接播放了!咱们现在有了这个阶段性的成果!


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

接下来,我们要整理一下地址和对应频道名称。需要使用一个软件:EmEditor。

先打开EmEditor,输入一个「空格」符号,选择「文件」--「保存」。

然后再选「文件」--「重新载入」--「二进制(十六进制视图)」,于是空格符号就转化为了16进制代码,再删除这个代码。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

在刚刚「踪HTTP流」的窗口下面选择「原始数据」,按Ctrl+A,全选,然后复制所有文字,到EmEditor中。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

在EmEditor中选择「文件」--「保存」。

然后再选「文件」--「重新载入」--「简体中文(GB2312)」

这时候,所有频道名称就可以正常显示了。

先初步整理一下,把前后没用的全部删掉,删除后的样子如下:

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

使用替换命令,

查找内容为 .*ChannelName="(.*)",UserChannelID="(.*)",.*(igmp.*)",TimeShift=.*
替换内容为#EXTINF:2,1rn3

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

你就会得到一个非常规矩的播放列表了。这个先保存起来。


设置光猫

我家的光猫是华为 HG8321R,听说是个阉割版,这个不重要。首先需要知道光猫超级管理员账户和密码。

这个大家可以问联通安装师傅,一般都会给。如果不方便问,你可以选择破解。但是破解有风险!但是破解有风险!但是破解有风险!重要的事情说三遍,有可能你自己弄不好又要找联通上门来。。。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

我的光猫按照网上破解的方法格式化了,所有的配置都没有了,记录了VLAN ID 却忘记记录LOID(逻辑ID)导致光猫无法上网,后来又找了一遍师傅,取得了LOID,才得配置完成。破解光猫的方法请自行百度。

光猫进【WAN】设置项,一个是INTERNET,是上网的,将LAN1 和 LAN2的绑定取消,然后保存。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

同样的,进入另一个OHTER,是IPTV的VLAN,将LAN1 和 LAN2的绑定取消,然后保存。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

再进入「网络应用」--「组播配置」设置如图

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

题外话:最开始的时候组播工作模式我设置为「Snooping」,发现直播每5分钟左右就会中断。百思不得解。后来把组播工作模式改为「Proxy」。中断的问题就解决了。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

好了,按照上面的方法配置完毕后,光猫的LAN1和LAN2口都可以上网或iptv了。


设置路由器

路由器进入「外部网络」-「IPTV」,将「IGMP PROXY」、「IGMP SNOOPING」打开。将「UDPXY」设置一个端口号,可以自定。我设置的8888。点保存。

组播是UDP传输的,对无线网络支持不好,udpxy的作用是将组播的udp流转化为单播的http流。至于IGMP Proxy和 IGMP Snooping 本人不是学网络工程的,也不是特别了解。自己理解的意思就是允许组播信息进入局域网,而且通过一定手段防止组播在网内形成风暴。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

这时候,打开浏览器 打开网址 192.168.1.1:8888/status,(192.168.1.1是网关地址,也就是路由器登陆的地址)。可以看到udpxy运行状态。说明udpxy运行起来了。


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

之后还是在路由器配置里,进入「无线网络」--「专业设置」--开启IGMP SNOOPING。

注意:要在「频段」那里选2.4G或5G,切换后分别设置。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

设置完毕后,我们可以测试一下。用电脑连接家里的wifi或者用网线连接路由器,打开VLC media player,选择选择「媒体」--「打卡网络串流」,

例如你的组播地址是igmp://111.111.111.111:1111,那直播地址现在是 http://192.168.1.1:8888/rtp/111.111.111.111:1111 使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播 应该可以正常播放啦!手机端也可以试试。ios安装nPlayer ,安卓使用VLC或KODI或mxplayer。地址还是http开头这个地址。

制作m3u及融合进网络盒子

最后,我们还要制作一个播放列表,供手机和电脑端观看。导入网络盒子的直播软件,供电视观看。

先说一下制作播放列表。

打开前面制作制作好的播放列表的txt文件。在文件最前面加上#EXTM3U 如图

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

然后自行使用查找替换功能(不用正则替换),把每个地址前面的igmp://替换为http://192.168.1.1:8888/udp/

这样就变成了下面这个。另存为后缀为「.m3u」格式的文件。直接在电脑上用potplayer 或 vlc 打开就能播放,也能切换不同频道。

传输到手机里,ios用nPlayer ,安卓使用VLC或KODI或mxplayer播放。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

为了电视端播放,需要把这些源添加进直播软件里,此前「HDP直播」、「电视猫」这些都支持自定义直播源,最近突然都维护不让自己添加了。使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

在网上找了个软件叫「超级直播」,用电脑下载到U盘里,再装到盒子里。

自定义源是一个txt文件,每个频道一行,地址和频道名称以逗号分隔。如:CCTV1高清,地址....

频道的「分组」单独一行。比如我「IPTV高清」作为第一行,在电视上,就会自动把「IPTV高清」下面的作为一组。

我建立了三个组「IPTV高清」含所有高清节目、「IPTV标清」含标清的央视卫视节目、「IPTV其他」含其他的一些莫名其妙的也不看的节目。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

电视端打开【超级直播】,点击遥控器「菜单」键选择【二维码扫一扫开启更多功能】会出现一个地址。使用电脑浏览器打开这个地址。

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

点击【我】--上传编辑好的txt文件。重新打开超级直播软件。就可以享受高清流畅的直播啦使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播

使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播


使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播



后记

至此,已实现所有局域网设备播放直播。至于分流什么之类的问题,我就没搞了,平时也不用天天下载,带宽大也就无所谓,目前已经能满足自己日常需要了使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播。另外一个原因是自己确实只懂点皮毛。网上大神还是很多的。推荐大家多去「山恩」论坛逛逛。

虽然方法是从网上帖子学来的,但是文字和图片都是本人一个个用手机码出来的使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播,转载可以,请注明出处使用梅林路由,丢掉IPTV盒子,实现局域网内任意终端观看直播



推荐关注:
每日原创榜单
话题:每日原创榜单 +关注
原创新人
话题:原创新人 +关注
开箱晒物
话题:开箱晒物 +关注
极客黑智能
话题:极客黑智能 +关注
路由器
分类:路由器 +关注

提示

鼠标移到标签上方,

尝试关注标签~

评论693

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

15183 693

关注数量超出限制,请先删除部分内容再尝试

关注数量超出限制,
请先删除部分内容再尝试

登录
注册
用户名/邮箱
密码
验证码
看不清?点击更换
看不清?点击更换 忘记密码?

已收藏
去我的收藏夹 >

已取消收藏
去我的收藏夹 >

小提示