V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zxp  ›  全部回复第 5 页 / 共 12 页
回复总数  231
1  2  3  4  5  6  7  8  9  10 ... 12  
你之前抓到的 rtsp 链接应该是回看的链接,直播应该还是走的组播,成都这边抓包的到的 epg 脚本是这样的:

https://ws1.sinaimg.cn/large/006tKfTcly1fjaorog3w4j31fs06ugqq.jpg

里面 ChannelURL 就是组播地址,TimeShiftURL 是回看链接,回看链接里面有机顶盒的认证信息,如果只看直播的话只需要 ChannelURL,然后把 igmp://替换成 rtp://再用 udpxy 转换就行了。
@yh0306 是的就是组播地址,可以用 vlc 试试 rtp://@233.50.201.28:5140/这样的链接进行播放,或者 udp://也行,你在播放的时候抓一下 itv 端口的包,看看是否有大量的从 233.50.201.28 这些 IP 进入的 UDP 报文,如有有,说明是通过组播进行播放的。组播流可以用 udpxy 进行转换成 http 流播放。
@yh0306 smil 是个类似于 html 的描述语音,你可以试试从这个链接解析出真正的流媒体链接,再用 vlc 播放。
也是可以转的,不过上面说的 udpxy 不行,这是专门用于组播流转 http 的,你可能需要找其它的软件,如 vlc 自己就可以,还有那个 rtsp 源的链接是带授权信息的,也就是说不能通用,有可能你每次重启机顶盒都不同的。
@yh0306
@2245518822 你可以按上面的 dhclient 的配置试试能否获取 itv 内网 IP,能取得 IP 才说明 IPTV 服务是通的,然后就用播放软件连接 rtp://@239.93.x.x:xxxx/试试能否播放,可以播放说明组播服务是对的。上面也有网友说不需要 dhcp 获取内网 IP 也可以加组播进行播放,你也可以用电脑直接网线连接 itv 端口播放试试。

@yh0306 你看看那些 rtsp 服务的 IP 是否是组播 IP,如果不是组播地址,说明你们那里的 IPTV 服务是走的单播,需要验证的。另外 rtsp 是网络控制协议,类似于 http,rtp 是传输协议,类似于 tcp。我们这里直播服务是直接通过 rtp 协议传的,没有控制层。
直播是 igmp v2 的,没有验证,但是回看和点播是需要授权的,账号和密码是电信的 itms 通过 tr069 下发给盒子的,通过抓包可以抓到带授权信息的回看和点播链接,其它机器应该可以直接播放,但是有可能授权信息会定期更新,所以链接可能需要经常更新授权。 @cnyang
@cnyang 如果没有开通电视业务的话,是不会给你光猫下发 iptv 的组播 vlan 配置的,所以组播是不通的
抓取 epg 脚本再转换一下就的到所有的地址了
@mac2man 好像是这样的,命令是 udp,udpxy 会自动探测组播流的编码方式,rtp 就省了这一步
vendor-class-identifier rfc 定义是 string 类型,可以试试这样直接发送十六进制数据

send vendor-class-identifier 00:00:1f:39:01:....;
你也可以试试把 239.93.0.0/16 路由指向到接 itv 的那个网卡上
组播地址无法 ping,只能通过 igmp 协议去加组、离组和 tcp/udp 请求数据流,上面那些组播地址是四川成都电信用的,其它地方包括四川的某些地市也许不同,如果加组没有数据,那应该就是没有这个组播组。 @cnyang
看图就知道如何接了

https://i.v2ex.co/vroXgG18l.jpeg
是需要用两个网卡,一个连接家里的局域网,一个连光猫的 itv 口,连局域网的可以用无线
本来不通过 udpxy 转换也可以在家庭网络环境用 vlc 之类的播放软件直接通过组播 rtp 播放流的,但家庭网络环境通常来说对组播的支持不会太好,容易泛洪导致网络环境恶化,影响其它的应用,也无法在家庭以外的地方实现观看,转成 http 后就容易多了。
电信各个省份的 IPTV 标准不一样的,所以需要抓一下机顶盒的包才能分析出具体的地址来,电信盒子里没有的直播频道当然也抓不到地址。据我所知只有广电的电视信号在涉外场合才会传输港澳和境外节目,知道频点手动在机顶盒输入也能搜索到香港台,但没有授权是无法观看的。电信的直播信号也是通过广电拿的,普通老百姓貌似都没有传港澳节目。
是的,电脑连接 ITV 端口还需要多一些配置

模拟四川电信 ITV 盒子的 DHCP 客户端配置 /etc/dhcp/dhclient.conf

https://gist.github.com/zxp/10d2d996132c3c884578bcfbad759a92

同时需要修改网卡的 MAC 地址,我用的 Radxa 的 ARM 小板子,改 MAC 地址比较麻烦,我用了比较懒的做法,你根据你的环境自己弄就好了
修改网卡 MAC 地址然后运行 dhclient 获取 IP 地址 /etc/network/interfaces

https://gist.github.com/zxp/7e345195c15bfdf41ed21bf61042e3dc

udpxy 使用就是一行命令,按照官网上的说明安装好后,根据 man udpxy 加参数运行就行了,我是这样的一行命令通过 daemontools 运行的
./bin/udpxy -v -T -a 192.168.2.2 -p 8080 -m 10.184.*.* -c 10 -B 1Mb -M 60
电脑上用 vlc,iina、盒子上用 hdp,手机上用熊猫 tv、GoIPTV 等等,支持自定义频道导入 m3u 播放列表的应该都可以的
其它地方的需要自己抓组播源哈,网上可以搜到上海、北京的,抓一下包也不难。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3216 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 00:12 · PVG 08:12 · LAX 17:12 · JFK 20:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.