笔者在陕西移动办理宽带时,移动公司赠送了一个魔百盒 OTT 盒子。移动魔百盒可以通过 GITV(银河互联网电视)观看电视直播,虽比起 IPTV 延迟较高,但也有一定价值。最近在折腾 Kodi,于是想通过抓包的方式得到 GITV 的 M3U 源,以便在 Kodi 和其他设备上观看。
抓包
抓包采用 Wireshark 进行。具体方法为:在电脑上开热点,让魔百盒连接热点,再使用 Wireshark 抓包相应的网卡。
开始抓包后,在魔百盒上打开节目点播,得到节目列表(不需要开始播放)后停止抓包。
通过分析抓包结果,我们筛选出两个重要的 URL:
channel_info_url
: http://111.20.43.97:29010/chnInfos/SAXYD_ZX/0.jsonepg_list_url
: http://111.20.43.97:29010/tagNewestEpgList/SAXYD_ZX/1/100/0.json
其中,channel_info_url
的内容如下:
|
|
从中我们可以获取到:
bigChnIcon
: 高清台标chnName
: 频道名称chnCode
: 频道代码
epg_list_url
的内容如下:
|
|
从中我们可以获取到:
title
: 节目标题startTime
: 节目开始时间endTime
: 节目结束时间chnName
: 频道名称chnCode
: 频道代码playUrl
: 播放地址
需要注意的是,playUrl
并不是直接的播放地址。访问此地址得到:
|
|
其中 u
才是真正的播放地址。
生成 M3U 源和 EPG 节目表
根据以上这些信息,我们可以编写一个 Python 脚本来定时生成 M3U 源和 EPG 节目表。
|
|