电视直播软件没法用,一文讲IPTV全屋播放
背景
首先本人小白,边弄边摸索,如有不对的地方,还请大神轻喷。
本次不用猫的超级密码。不需要知道vlan id。
因为家里老人有看电视需求,一直都是某电视软件会员,最近调整,导致直播基本失效。想了想拿出了电信一直闲置的IPTV盒子。但是我家客厅网络是我后改造的,用的透明光纤拉过去的。增加线路太麻烦了。想了想还是利用路由获取IP处理来的方便。
我这边是某电信,IPTV通过IPoE鉴权获取IP。
具体操作
一、IPoE鉴权部分
在这之前你需要安装PuTTY、WinScp、Notepad++和Wireshark四个软件。自行安装不再叙述。
首先,我家网络布置是电线猫桥架后面主路由,实际我用的软路由是x86的,直接安装openwrt做的主路由。桥接我们本地只需要电话10000直接告知需求就能改,没废话。我eth1口原来接的是桥接线路,我把eth0口接线直连iptv。这样只要改iptv口的配置接可以了。
第二步,就是获取信息。既然用的是openwrt就简单了。先ssh主路由,输入账号密码,然后
opkg update
opkg install tcpdump
两条命令先安装tcpdump,装好后调整线路。机顶盒连接eth2口,eth3连接家庭网,电脑就在eth3k口的下级了。然后openwrt设置0、2、3口为lan口,1口的线先拔掉。机顶盒先别开机,进入openwrt的ssh,输入账号密码。然后输入
tcpdump -i eth0 -s 0 -w /tmp/tv.pcap
然后开机机顶盒,进入直播,切换几个台。然后换回ssh客户端按CTRL+C结束抓取。打开WinScp登录主路由,进入tmp把tv.pcap拷贝到电脑上。用Wireshark打开。
首先在过滤工具栏输入dhcp协议(输入dhcp就行),在下面分组界面,找到option12和option60两个值。
option12和option60两个值其中option12,打开,下面有个Host Name复制出来,option60记得先打开在下面vendor class identifier处右击选---复制---...as a Hex Stream,保存下上述两个信息。
打开WinScp登录主路由,打开etc/config/network编辑,把eth0单独新建一行
config interface 'IPTV'
option proto 'dhcp'
option ifname 'eth0'
option delegate '0'
option hostname 'XXXXXXXX' # 你抓到的 Option12 明文
option macaddr 'xx:xx:xx:xx:xx:xx' # 机顶盒的 MAC地址 在机顶盒背面贴着
option sendopts '0x3c:YYYYYYYYYYYYYYYYYYYYYYYYY' # 发送 Option: (60)
再打开/lib/netifd/proto/dhcp.sh编辑,找到
proto_run_command "$config" udhcpc
-p /var/run/udhcpc-$iface.pid
-s /lib/netifd/dhcp.script
-f -t 0 -i "$iface"
${ipaddr:+-r $ipaddr}
${hostname:+-x "hostname:$hostname"}
${vendorid:+-V "$vendorid"}
$clientid $defaultreqopts $broadcast $release $dhcpopts
把其中${vendorid:+-V "$vendorid"} 调整为-V '' ,其他都别动,复制一行就行了。
最后回到openwrt把lan口里面端口把eth0删掉,然后重启路由,可以看到IPTV口已经获得IP了。
看下MWAN3分流软件,确认下流量都正常走wan口。
二、组播转单播部分
我用的是openwrt的MultiSD_Lite软件,将udp组播转为单播流。没有安装的先手动安装下。
启用勾选,默认端口(7088)可以不改,源接口我们这边填iptv的获取接口eth0,其他可以默认,保存并应用。
他和udpxy不同没有状态页面。保存应用好就已经把udp流转好http流了。
三、直播源获取部分
用Wireshark打开之前的tv.pcap文件,在过滤工具栏输入http。过滤出http协议,然后按CTRL+F键,查找框中选字符串,后面输channel,点击查找。找到info中显示为HTTP/1.1 200 OK (text/html)的,在文件---导出对象---HTTP...弹出的列表中找到frameset_builder.jsp文件,保存大小最大那个。
用Notepad++打开刚才的文件,往下拉可以看到ChannelName="xxxx"、ChannelURL="igmp://xxx.xxx.xxx.xxx:xxxx"啥的。这个就是组播地址。ctrl+f打开查找功能,选替换,查找目标填
^.*ChannelNa+?me="(.+?)",UserChannelID="(.+?)",ChannelURL="(.+?)://(.+?)",Time.*$
替换为
#EXTINF:-1,1nrtp://4n
查找模式选正则表达式。
选全部替换。得到
#EXTINF:-1,CCTV1
rtp://XXX.XXX.XXX.XXX:XXXX等相应格式。
然后再次调整rtp://XXX.XXX.XXX.XXX:XXXX为http://192.168.1.1:7088/udp/XXX.XXX.XXX.XXX:XXXX(其中192.168.1.1为你主路由地址,7088是你的默认端口,XXX.XXX.XXX.XXX:XXXX是你前面获取的组播地址和端口)。
把文件另存为tv.m3u文件。
四、观看部分
电脑上可以用potplay打开tv.m3u文件,直接就可以在内网用电脑看电视啦。
电视机上最方便的安装kodi,安装完成设置文字及语言改为中文,这里就不多说了。选设置---插件---从库安装---PVR客户端---PVR IPTV Simple Client---安装。安装完后选设置---常规位置线改成本地路径(local path),点M3U playlist path,选择下tv.m3u文件,确定后就能看电视啦。
苹果上最好用的是ntPlayer,商店安装好打开---资源---本地资源,添加tv.m3u。
上述EPG可以用http://epg.51zmt.top:8000/e.xml相关频道信息,节目预告等自动获取。
至此直播部分已可以在家庭网络直接使用。IGMP分流由于有风险没敢使用,至于单播源回看部分正在研究中。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
蓝火人
校验提示文案
indoorsman
校验提示文案
老干妈土豆片
校验提示文案
宁波达文西
校验提示文案
值友5137513458
校验提示文案
Alaylm
校验提示文案
值友6461436669
校验提示文案
mandyboy_HD
校验提示文案
小叮当喵
校验提示文案
我很无奈啊
校验提示文案
chenkai512
校验提示文案
cyhzvv
校验提示文案
胶己人食茶
校验提示文案
yuanxrui
校验提示文案
哎呦喂轻点
校验提示文案
我爱娜娜
校验提示文案
donald001
校验提示文案
SpringPuppy
校验提示文案
出脚不凡
校验提示文案
北方大地瓜
校验提示文案
ChoiChunWai
校验提示文案
值友2392260245
校验提示文案
indoorsman
校验提示文案
f0rest22
校验提示文案
烟火_
校验提示文案
走着瞧加一
校验提示文案
咸鸡蛋
校验提示文案
DJ小白
校验提示文案
极光之翼
校验提示文案
撸大师AA
校验提示文案
我执
校验提示文案
神精兵
校验提示文案
哆睞咪
校验提示文案
ldy0130
校验提示文案
kkxctchong
校验提示文案
不是这么玩的
校验提示文案
念念w
校验提示文案
风亦无形
校验提示文案
ajren997
校验提示文案
jandou
校验提示文案