IPTV抓包,内网融合,外网IPTV直播与回看
话说这篇文章得从22年说起,某天在b站刷到个alist的视频,阿里云盘302直链 那时挂载分享不限速,真乃神器也,然后拿起手里的AX5 JDC开始折腾,结果一发不可收拾,就有了接下来的湖南电信iptv内网融合。实现了在保留官方IPTV机顶盒原有功能的情况下,内外网环境手机安装app可看电视直播。
1.环境
硬件:京东云雅典娜、京东云Redmi AX5 JDC(openwrt固件)、电信官方IPTV机顶盒
网络:湖南电信公网ipv4
IOS:APTV,ntPlayer(可同时播放4个台,免费版广告多)
Android:DIYP、IPTV_Pro,Kodi
网络拓扑图2.IPTV数据抓取
抓包方法工具有很多如tcpdump或者端口镜像交换机,甚至还有网友自制网线工具,不管怎么样能抓到数据就行。我当时是用K2P高格里面的端口镜像,电脑端安装Wireshark,Win11需安装Win10Pcap软件,否则Wireshark无法发现本地以太网连接。软件配置好后打开iptv机顶盒电源开机,随便点个电视台直播,时移回看,首页点播,需要的数据就全部获取到了,关机吧。
iptv抓包数据从这英文字面意思聪明的你肯定已经知道是什么了吧,把这个http数据导出,然后用记事本类的软件打开 里面就有iptv的组播地址,正则表达式处理下,留下需要的台标、频道名称、rtp地址组合成m3u格式文件。把这http地址复制保存,后期在浏览器中访问就可以得到最新频道列表(需要路由规则走iptv口)比如这样:
频道列表数据用的SublimeText,查找
.*?callsign":"(.+?)".*?categoryId":"(.+?)".*?channelName":"(.+?)".*?channelNumber":"(.+?)".*?rtp://(.+?)".*?}
替换,192.168.31.2改成你自己ip地址,group-title需要依据categoryList对照手动修改下
#EXTINF:-1 tvg-id="$4" tvg-logo="$1",group-title="$2",$3nhttp://192.168.31.2/udp/$5n
iptv.m3u3.组播转发配置
湖南电信iptv是pppoe拨号,进入机顶盒设置获取账号和密码 用于ax5拨号;ax5 openwrt安装omcproxy(或igmpproxy) udpxy luci-app-udpxy。主路由lan连接ax5 lan(设置ip与主路由同网段),光猫iptv口连接ax5 wan口拨号,拨号成功即可获得10开头的内网地址;iptv官方机顶盒连接ax5 lan口,设置静态ip地址为主路由同网段,网关设置为ax5 ip地址。
方案一:ax5 wan拨号-高级设置-使用默认的网关跃点0,这样的好处是不管以后iptv后台数据怎么变,官方iptv机顶盒都能正常使用,弊端是ax5本机无法正常访问外网,部署在ax5上的alist、lucky等无法正常使用。推荐用闲置的k1、k2p、京东云一代之类的低性能路由专用来iptv代理。
方案二:ax5 wan拨号-高级设置-设置网关跃点数(跃点数越小优先级越高)这样的好处是ax5能正常访问外网,弊端是需要在ax5上配合抓取的iptv数据做静态路由规则,如果以后iptv后台数据变更,iptv官方机顶盒有可能无法正常使用。本文使用此方案
wan iptv拨号wan 高级设置omcproxy配置msd_lite设置udpxy最好是弄个hotplug文件,防止wan口重拨后无法使用。关于msd_lite反向代理后403错误,需要在源码中注释掉host 后编译。
udpxy hotplug文件现在你可以开心的将m3u文件导入APTV等软件看直播电视了
卧槽~什么鬼!!!怎么只能两个终端观看,我所在区域组播只能同时2个终端观看不同电视台直播,第3个终端只能看前2个终端正在看的电视台,系统限制了,不知道湖南电信iptv是否都这样。
我靠~这不坑爹么,折腾这么久白弄了???
莫慌~~~咱继续
4.单播与回看
还记得前面Wireshark抓包的时候说播放回看 点播么,可以找到回看等单播数据,这个没有终端数限制。
搜索GetPlayAddressById,你会看到类似这样的连接
beginTime和endTime分别为回放开始时间和结束时间,videoId是频道列表里的channelId值,这里65e48b2e8e6a4f73824fbbb44762e4c6是湖南卫视高清。在浏览器访问该链接会返回回看地址,UTC时间,+8小时就表示我们东八区的时间;红圈所示是频道列表里每个电视台的importId值。如果是方案一,复制这条链接就可以正常回看。方案二就算你把这个ip加入静态路由,还是不能播放原因在这个链接服务器(负载均衡)后台会跳转到220.168.138.0/24的地址,端口6610。浏览器访问会下载index.m3u文件,并且每次地址可能不一样,记录下某个地址 后用lucky反代(220开头的)可以在外网观看iptv。
获取的回看地址放两个格式示例:
内网回看与反代回看直播与时移:IASHttpSessionId会话id,目前后台没有校验可以随便设置;zte_offset=0表示当前时间直播,zte_offset=600表示当前时间时移前10分钟开始;ispcode=2为直播,3是回看
单播内网直播与反代时移直播最后还需要在ax5上配置静态路由,把iptv机顶盒里的认证、ntp服务等地址加入,在启动项中加入:
echo 2 > /proc/sys/net/ipv4/conf/all/force_igmp_version
所在地电信iptv用的IGMPv2,不设置v2官方机顶盒直播黑屏,只能回看;一通折腾下来,现在官方iptv机顶盒就能开机通过认证 正常播放了。
静态路由单播m3u文件,频道列表数据 用SublimeText,查找
.*?callsign":"(.+?)".*?categoryId":"(.+?)".*?channelName":"(.+?)".*?channelNumber":"(.+?)".*?importId":"([0-9]+)".*?}
替换为:
#EXTINF:-1 tvg-id="$4" tvg-logo="$1",group-title="$2",$3nhttp://124.232.231.172:8089/000000002000/$5/index.m3u8?IASHttpSessionId=OTT&zte_offset=0&ispcode=2n
之后group-title需要依据categoryList对照手动修改,这样单播的m3u文件就整理好了。
单播m3u文件转diyp txt格式,用SublimeText,查找
.*?title="(.*)",(.*)s(.*) 替换 $1?$2,$3
diyp内网单播格式5.进阶&小技巧
虽然前面我们已经找到单播地址和回看规则,但是将单播文件导入APTV或diyp搭配EPG还是没有回看按钮,看到有大神分享可以在地址中加入TVOD让app显示回看按钮,这就需要用到PHP,所以临时抱佛脚看了点php基础。开搞~
5.1搭建PHP环境
ax5 在软件包中搜索安装php和php-cgi,我安装的是php8版本,然后修改/etc/php.ini文件,将输出缓存off改为 output_buffering = On,将doc_root = "/www"前加 ;注释掉这行。
5.2新建web服务
编辑vi /etc/config/uhttpd 在末尾加入如下,保存后 /etc/init.d/uhttpd restart,重启uhttpd。
config uhttpd 'iptvm3u'
list listen_http '0.0.0.0:88'
list listen_http '[::]:88'
option home '/etc/config/iptv_m3u'
option cgi_prefix '/cgi-bin'
option index_page 'index.php'
list interpreter '.php=/usr/bin/php-cgi'
88表示web端口(不可与本地端口冲突),/etc/config/iptv_m3u表示web主目录。
在/etc/config目录下新建iptv_m3u文件夹,用于存放m3u、txt等文件;在iptv_m3u下新建TVOD文件夹,用于存储php文件。相比直接放在/www目录下用80端口访问,放在/etc/config目录下有个好处就是openwrt备份配置时会保存此目录,内网访问输入http://ip:88/iptv.m3u。我这里将它软链接为txt后缀是便于在浏览器访问http://ip:88/iptv.txt查看。lucky反代88端口开启BasicAuth认证,防止外网直接访问别人看到你的m3u文件,外网访问 APTV配置链接就成了 https://用户名:密码@域名:端口/iptv.m3u
5.3在TVOD文件夹下放入index.php文件
将diyp内网单播地址改为如下格式,其实就是在http前加入了 http://192.168.31.2:88/TVOD/?url=
diyp内网单播php格式好了,到此就可以愉快的多终端看iptv直播与回看了,鉴于家庭宽带的上传带宽限制,偶尔外网看看还是可以的 聊胜于无。
6.最后
这篇文章应该也算是湖南电信iptv比较全的了吧,断断续续写了几天,就先这样吧,如果有帮到你 那是极好的,大佬们有什么意见 建议也欢迎提出来讨论改进。
我为神劵来
校验提示文案
值因你太美
校验提示文案
XO酱狂人
校验提示文案
阿城巴巴
校验提示文案
hechong
校验提示文案
V怪客
校验提示文案
giantman1
校验提示文案
胶己人食茶
校验提示文案
逍遥ljj23h
校验提示文案
maxmib
校验提示文案
梅川内酷888
校验提示文案
蜂蜜柚子皮
校验提示文案
SZ毛辣果
校验提示文案
昵称真可以改
校验提示文案
玳瑁啊玳瑁
校验提示文案
rnox
校验提示文案
xuan0803
校验提示文案
值友6991872072
校验提示文案
张爹地的老北鼻
校验提示文案
iamufather
校验提示文案
張大叔
校验提示文案
宥年宥她
校验提示文案
梅川内酷888
校验提示文案
maxmib
校验提示文案
maxmib
校验提示文案
深深微
校验提示文案
逍遥ljj23h
校验提示文案
值友1872331824
校验提示文案
fxsing
校验提示文案
薄荷口味
校验提示文案
值友4777773793
校验提示文案
沧海一笑又笑
校验提示文案
值友6169570324
校验提示文案
cxc520589
校验提示文案
大白呼
校验提示文案
大圣还来吗
校验提示文案
吃白菜的土豪
校验提示文案
白夫斯基
校验提示文案
线头先生
校验提示文案
多出爆文早恰饭
校验提示文案