|
本帖最后由 xdog 于 2024-12-4 10:05 编辑
之前一直想扔掉IPTV机顶盒,任意设备观看IPTV,在论坛看了很多教程,要么长篇大论,要么啥也没有,比我编的论文都难以理解啊,很抱歉没看懂,瞎折腾成功了一次,后来重置了光猫又看不了了,最近研究了两天,终于算是搞懂了一点点,分享给需要的人
基本概念
RTP:一种用于传输实时音视频数据的协议,通常基于 UDP 协议,IPTV的视频流采用的就是这种协议,例如安徽电信CCTV1的IPTV默认组播地址`rtp://238.1.78.166:7200`
IGMP(组播路由): 一种用于管理和控制 IP 网络中的组播通信的协议。它的主要功能是让主机(计算机或其他网络设备)加入或离开特定的组播组,以及允许路由器了解哪些主机在网络中加入了哪些组播组。通俗来讲就是管理RTP数据的,没有IGMP你就获取不到IPTV视频数据
udpxy:一款软件,能将 RTP 协议 转化为 HTTP 协议,适用范围更广,比如目前安卓TV端最好用的`TiviMate_2.1.5`播放器只能使用HTTP协议,上面RTP格式的安徽电信CCTV1处理后的地址为`http://192.168.1.1:5244/udp/238.1.78.166:7200`
按照线路接法有两种方案,如下
一、单线复用方案(不需要添加任何物理线路,优雅但是比较折腾)
1. VLAN聚合。将上网信号(41)和IPTV信号(43)绑定到同一个物理接口,不过设置光猫需要超密
2. VLAN 过滤(分离)。老毛子路由系统如图设置即可,IPTV第三项不选DHCP都能用
>华硕路由器不需要VLAN 过滤(分离),默认设置就可以,具体原因未知
3. 路由器开启`IGMP(组播路由)`功能。光猫默认开启IGMP,如果你的局域网和光猫在同一网段并且可以互相访问则不需要配置
4. 做完以上步骤就可以直接在局域网用RTP组播地址观看IPTV了,如需用HTTP协议观看在局域网搭建udpxy即可
二、双线接入方案(只需要增加一条网线,但是可能会造成回路)
1. 将光猫的上网口和路由器的WAN口连接,光猫的IPTV口和路由器的任意一个LAN口连接,然后就可以直接通过RTP组播地址观看IPTV了
2. 你没有看错,只需要增加一条网线就可以直接在局域网用RTP组播地址观看IPTV了,如需用HTTP协议观看在局域网搭建udpxy即可
踩坑记录
1. udpxy无法播放,原因是斐讯N1用的是的F大71+o之后(5.4内核后)的系统,目前都播放不了IPTV,换 71+o 或者 iStoreOS 固件解决
2. IPTV每次播放四分多钟就卡掉,重新打开链接才能播放。搜索到[这个帖子](https://www.right.com.cn/forum/thread-869985-2-1.html),有人通过修改udpxy参数解决,但是我udpxy参数都改烂了还是有问题,折腾大半天,最后发现不用udpxy,直接观看rtp地址也是这个问题,所以不是udpxy的问题,最终又花了一晚上排查终于找出了原因。原来是我第一步单线复用没有绑定vlan,因为之前听网友的直接取消上网(41)和IPTV(43)的所有LAN端口绑定,也能播放IPTV,没想到导致IGMP异常了,改回去问题就消失了,具体什么原因不清楚,有没有大神懂的。
3. IPTV画面有轻微抖动,偶尔出现轻微水波纹,最后发现是PotPlay视频解码器的问题,取消使用内置的DXVA视频解码器或者更换视频解码器即可
原帖地址:https://blog.xdog.top/posts/2478218672/#IPTV
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|