一个例子的频道信息如下。其中给出了频道名称(CCTV1高清),就是频道直播地址(igmp://239.253.248.77:8000),可以看出电视直播用的是组播方式。
jsSetConfig('Channel','ChannelID="ch00000000000000001128",ChannelName="CCTV1高清",UserChannelID="1",ChannelURL="igmp://239.253.248.77:8000",TimeShift="1",ChannelSDP="igmp://239.253.248.77:8000|rtsp://124.132.240.33:554/live/ch12122514263996485740.sdp?playtype=1&boid=001&clienttype=1&time=20240211145822+08&life=172800&ifpricereqsnd=1&vcdnid=001&userid=xxxxxxxxxxxx&mediaid=ch12122514263996485740&ctype=5&TSTVTimeLife=10800&authid=0&UserLiveType=1&stbid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&nodelevel=3&terminalflag=1&profilecode=&AuthInfo=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&bitrate=8&distype=0&usersessionid=xxxxxxxxxx",TimeShiftURL="rtsp://124.132.240.33:554/live/ch12122514263996485740.sdp?playtype=1&boid=001&clienttype=1&time=20240211145822+08&life=172800&ifpricereqsnd=1&vcdnid=001&userid=xxxxxxxxxxxx&mediaid=ch12122514263996485740&ctype=5&TSTVTimeLife=10800&authid=0&UserLiveType=1&stbid=xxxxxxxxxxxxxxxxxxxxxxxxxxx&nodelevel=3&terminalflag=1&profilecode=&AuthInfo=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&bitrate=8&distype=0&usersessionid=xxxxxxxxxxx",ChannelLogURL="",PositionX="1",PositionY="1",BeginTime="0",Interval="-1",Lasting="0",ChannelType="2",ChannelPurchased="",LocalTimeShift="0",UserTeamChannelID="1",TimeShiftLength="10800",telecomcode="00000001000000050000000000000152",FCCEnable="1",FCCFunction="1",ChannelFCCIP="124.132.240.66",ChannelFCCPort="15970"');
使用这个组播地址,利用路由器上的转单播服务,在电脑上打开单播地址(:4022/rtp/239.253.248.77:8000)用播放器试一下,是CCTV1。
电脑VLC播放器
把整个频道信息拷贝出来,在文本编辑器中使用正则表达式,或者就手工编辑一下,生成m3u或者txt直播列表文件,IPTV的直播源就弄好了。在电脑用播放器打开试一下,没问题!
电脑上打开生成播放列表
另一种在中查看频道信息的方法就是使用关键字搜索。比如搜索igmp://,如下图。也能很快定位到对请求频道信息列表的请求。同方法一追踪对应的HTTP流,获取频道列表信息即可。
追踪
采用搜索方式的关键是选择合适的关键字。这里是用的igmp://,但有些地方的IPTV并不是用的igmp组播,需要使用其它合适的关键词。
下面看一下回看,打开一个回看频道试一下。同时抓一下包。
IPTV回看节目选择
IPTV电视回看
从之前的频道列表信息中,可以看到回看使用的是rtsp协议。因此在抓包中重点看rtsp协议包即可。
回看RTSP协议交互
从中可以看到,默认使用的是基于认证的rtsp地址,经过几次跳转,最后使用的rtsp地址其实并不需要认证,地址格式如下:
rtsp://119.180.21.48:1554/iptv/Tvod/iptv/001/001/ch12122514263996485740.rsc?tvdr=20240210043000GMT-20240210055100GMT
可以看到回看地址是使用tvdr参数定义回看时间段,注意使用的是GMT标准时间,不是北京时间。用电脑播放器打开看一下,回看节目正确。
使用VLC回看IPTV电视节目
可以把有兴趣的回看频道继续都抓取出来。编辑m3u播放列表文件把回看信息加进去。下面是一个频道的例子。
#EXTM3U x-tvg-url="http://epg.51zmt.top:8000/e.xml.gz" catchup-correction="8"
#EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" group-title="央视-高清" catchup="default" catchup-source="rtsp://119.180.21.48:1554/iptv/Tvod/iptv/001/001/ch12122514263996485740.rsc?tvdr={utc:YmdHMS}GMT-{utcend:YmdHMS}GMT",CCTV-1 综合
http://192.168.124.1:4022/rtp/239.253.248.77:8000
这样就可以在支持回看IPTV电视直播应用(比如Kodi)激活回看。更详细的使用说明可以参考笔者的其它相关文章。
最后再一下点播,现在IPTV也有不少点播节目。使用IPTV打开一个电影点播,同时抓一下包。
IPTV点播
同样重点看rtsp协议包就可以了。和前面的回看类似,开始使用认证rtstp地址,最后会跳转到一个不需要认证的rtsp地址上。格式如下:
rtsp://119.180.21.45:1554/iptv/vod/iptv/001/001/894/00000050280003431558.mpg
在电脑上打开地址看一下,没问题,电影可以完整播放。
使用VLC播放IPTV点播节目
最后说明一下,在家庭网络中观看IPTV回看和点播节目,需要走IPTV连接路由,因为运营商IPTV的地址大都会屏蔽互联网的访问。需要在路由器下定义静态路由规则,IPTV地址段通过IPTV连接路由。注意不同运营商需要配置的路由规则不同,需要根据运营商的实际地址配置。
路由IPTV路由规则
涉及内容比较多,感兴趣的朋友也可以翻翻笔者其它的相关文章。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666