经常折腾 IPTV 的朋友应该知道,有本地 IPTV 组播源 + 组播转单播工具 + OpenWRT 路由器,在电脑、手机上搭配 APTV 等播放器,就可以看当地 IPTV 电视直播。而且因为走的是运营商 IPTV 网络,稳定性极高。互联网上公开能找到的直播源,平时勉强还算稳定,遇到春晚、阅兵这种大型活动基本都歇菜了。
平时大家常用的组播转单播工具有 udpxy 、msd_lite 等,这次我要介绍一下我编写的这个工具 rtp2httpd-modern ,一定是目前功能最强的。
项目地址 https://github.com/stackia/rtp2httpd (欢迎点进查看完整介绍)
这个工具除了基本的组播转单播功能,还实现了:
两个演示视频:
https://github.com/user-attachments/assets/a8c9c60f-ebc3-49a8-b374-f579f8e34d92
https://github.com/user-attachments/assets/fedc0c28-f9ac-4675-9b19-a8efdd062506
顺便附上我本地(海南电信 IPTV )的抓源脚本和 m3u8: https://github.com/stackia/hainan-telecom-iptv-updater
1
freebsdjlu 21 天前
组播必须开通 iptv 服务才可以么
|
2
v1 21 天前 @freebsdjlu 看运营商和省份,比如上海移动的,你只要是移动宽带,用别人抓包出来的组播地址也可以用
|
3
Damn 21 天前 via iPhone
澄迈的道友
|
4
Ccf 21 天前
济南联通有懒人版么
|
5
datou 21 天前
我电信的机顶盒还要 pppoe 一下
|
7
Kale 21 天前
谢谢 OP ,请问之前开通过 IPTV ,但是一直用不了,因为电视机那里没留网线口,用这个可以吗?路由器是软路由 openwrt
|
8
jsq2627 OP @Kale 可以,这也是大多数人折腾 iptv 内网融合的原因。重点是搞清楚本地运营商认证方式,在 openwrt 上接通 iptv 网络,设置好路由策略,具体搜索 iptv 内网融合
|
9
ajyz 21 天前
看着很强大,先支持一下
|
10
zli 21 天前
请问一下 OP ,
25 条 1080p 组播流同时播放演示视频里 用的是哪款播放器? |
11
jsq2627 OP @zli mac 端的 APTV https://aptv.wegic.app
|
13
piero66 21 天前
star 了
|
14
109653VIP 21 天前
有没有单文件的编译
|
15
Archeb 21 天前
感谢开源!虽然广东电信这边支持 RTSP 单播,但是有这么一个现代化的项目肯定能造福很多 IPTV 用户
|
16
Rinndy 21 天前 via iPhone
不知道为什么播放 1 分钟左右就断开重连,正常吗
|
17
iloveyou1985 21 天前 via iPhone
我是 x86 的 ikuai 软路由,可以用吗?
|
18
foxk 20 天前
Nice ,必须 Star
|
19
lvxudong 20 天前
好东西
|
20
jsq2627 OP ikuai 我了解比较少。可以尝试自己编译,图省事的话可以尝试 docker 方案
x86 openwrt 肯定是可以的,我自己就是 x86 openwrt 软路由 |
21
jsq2627 OP @iloveyou1985 👆
|
24
heiher 20 天前 via Android
|
25
scegg 19 天前
开始播放一分钟左右,会重新缓冲一次,后续观察了 3 分钟不会再有缓冲问题。
再换个频道还是一样一分钟后重新缓冲一次。 |
26
qiankunyu 19 天前 via Android
弄完了电视和手机都没问题,电脑 potplayer 报错
|
27
jsq2627 OP |
28
scegg 19 天前
@jsq2627 测试 V2.2.0 ,并在同一个环境( openwrt )下测试了 udpxy 。深圳电信 IPTV 。
延迟低的频道:会在打开几秒后重新缓冲一次,之后一切正常。 延迟高( 1000ms+)的频道:播放中会明显出现解码错误导致色块,帧内容前后重叠等(对于字幕区域特别明显)。 udpxy 测试同样的频道没有类似的问题,可能实现的机制有所不同? |
29
yutian12345 19 天前 via Android
直接转就可以快速换台吗
|
30
YGBlvcAK 18 天前
非常感谢大佬的分享,不会编译,求个 x86 的二进制包,同时求个北京联通和移动的 FCC 地址?
|
31
yutian12345 18 天前
同样沒有 luci 显示,而且修改完配置用命令重启也没用
能弄个旧版本兼容不 |
32
yutian12345 18 天前
搜了一下提示 MSG_ZEROCOPY support is required
应该是内核太老,没法搞了 |
33
FakerLeung 18 天前
家里有 IPtv ,怎么抓包出来?因为我爸希望在外出旅游时也想看?能说下怎么用吗
|
34
qiankunyu 18 天前 via Android
有大佬抓一下江苏电信最新的 fcc 地址吗
|
35
jsq2627 OP @yutian12345 最低内核要求 4.14 ,应该是太老了。项目强依赖内核的 MSG_ZEROCOPY 特性,没法继续向下兼容了
|
36
y1y1 18 天前
原来 FCC 是这个意思,挺不错的工具
|
40
jsq2627 OP |
41
CHNTDCS 17 天前
真不错,晚上有空了替换了 udpxy 试试看效果。
|
43
wolonggl 17 天前
建议增加一个播放日志记录功能
|
44
siriussilen 17 天前
Nice Work
|
45
m1s4k1 17 天前
对比 udpxy 有哪些优势呢, 有替换的意愿
|
47
wolonggl 17 天前
我这边测试播放电信 iptv 组播,出现频繁锻炼,udpxy 和 msd_lite 正常
日志: 18:39:28[ERROR]Multicast: No data received for 1 seconds, closing connection 18:41:34[ERROR]Multicast: No data received for 1 seconds, closing connection 18:41:53[ERROR]Multicast: No data received for 1 seconds, closing connection 18:42:13[ERROR]Multicast: No data received for 1 seconds, closing connection 18:42:37[ERROR]Multicast: No data received for 1 seconds, closing connection |
48
q197 16 天前 via Android
太强了。我不太懂这类软件的技术,想请教一下:我以前用树莓派部署 udpxy 转发 iptv 为 http ,发现其实性能消耗很大,同时开 4 个台树莓派 CPU 就跑满了。不知道是为什么?这个组播转 http 需要视频编码或者封装吗?不知道楼主开发的软件性能上和 udpxy 相比提升怎样,树莓派能不能多带几路甚至开几十几百个不卡
|
49
jsq2627 OP @q197 udpxy 使用的是 fork + select + 阻塞 IO 这一套古典网络编程模式,多几路连接对 CPU / 内存的开销都比较高。
我开发的这个程序使用 multi worker + epoll + 非阻塞 IO 这套现代网络编程模式,理论上性能和占用会比 udpxy 好很多。 组播转 http 不涉及视频解码,只涉及解 RTP 封装,但是需要的计算量很少,本身不应该占用太多 CPU 。 树莓派的性能应该是优于许多 ARM 路由器的,我觉得带十几路应该没问题(我自己没有树莓派,纯推测) |
51
yeh 15 天前
MSG_ZEROCOPY support is required
群晖内核太老了,已经搞不上去了 |
53
hjj0529 15 天前
支持,广西电信测试,好用。
|
54
dantesv2 14 天前
加了 fcc 服务器换台也比 msd_lite 慢很多,不知道什么问题.
|
56
wakaba94 13 天前
遇到了一个奇怪问题,PotPlayer 播放时会只有音频流没有视频流,查看 debug 和 info 日志都和正常频道没区别,然后切换频道再切回去就正常了。
|
57
hjj0529 13 天前
@sp670 测试了一下,广西电信用这个插件,效果不是很明显,跟直接播放组播或者单播差距不大,不知道是我播放器问题还是什么问题,看日志是能成功的。 fcc:113.15.79.82:8027
|
58
hjj0529 13 天前
@wakaba94 potplayer 我也遇到类似问题,但是应该不是这个插件导致,我用 msd-lite 插件也是如此,特别是北京卫视 4K ,我遇到这种问题比较多,似乎是没识别出视频格式和分辨率。
|
60
Withal 13 天前
|
61
sun82kg 13 天前
有没有道友搞一个, 一键抓取 iptv 盒子里节目地址的列表的工具。
|
62
steveny5997 13 天前
北京联通好用,谢谢楼主
|
63
hanguofu 12 天前 via Android
谢谢分享~~~
|
66
matoung 12 天前
点赞 一直在用 udpxy ,抽空试下
|
67
tvirus 11 天前
貌似不支持这样的格式 http://192.168.1.1:5140/rtsp/admin:[email protected]:554/live/stream1 ,
会报错 8:20:07 AM[ERROR]RTSP: Cannot resolve hostname admin: Unknown host 8:20:07 AM[ERROR]RTSP: Failed to initiate connection |
69
zhughe 11 天前
先插个眼🤓
|
70
zhujaylon 10 天前
@steveny5997 可以分享一下北京联通的 fcc 地址吗 感谢
|
71
matoung 10 天前
陕西电信 FCC 亲测好用,体验提升明显,已经从 udpxy 切换到 rtp2http 了 感谢
|
73
FeranyDev 8 天前
有考虑过把不同客户端对同一个服务合并到一起吗,现在还是会有两个 udp 链路
[https://image-uploader.feranydev.com/api/users/daf6b544-b684-4d77-b381-ed9ecb2152d0/images/2025/10/18/20251018084504.png] |
76
cbigame0205 7 天前 via iPhone
安装成功后服务这里找不到应用,软件包这里已安装显示是有的,固件版本 24.10 ,内核 6.6.93 的硬路由
|
77
cbigame0205 7 天前 via iPhone
而且他不是一直不显示,我最早安装好是有的,后来版本更新了一下,我又一键安装了一下就消失了
|
78
xxgzzzzzz 7 天前
大哥 这个 webui 能打包进 Linux 二进制文件吗? 非 openwrt 想用来转发多路监控
|
79
jsq2627 OP |
81
liton 5 天前
webui 有可能加入一键抓取 iptv 盒子里节目地址的列表的工具吗
|
82
ihipop 5 天前
不错 udpxy 确实稳定简单 但是 实在是太老了
|
83
jsq2627 OP @xxgzzzzzz 前端项目是 npm 构建出来,gzip 打包进二进制里面的。前端项目能独立运行 https://github.com/stackia/rtp2httpd/tree/main/web-ui
|
84
jessechoi 5 天前
@cbigame0205 "而且他不是一直不显示,我最早安装好是有的,后来版本更新了一下,我又一键安装了一下就消失了"跟我遇到的一模一样,请问你解决了吗?
|
85
dream7758522 4 天前 via Android
想问一下升级的话咋升级?系统是 openwrt x86
|
86
cbigame0205 4 天前 via iPhone
@jessechoi 没解决,刷新缓存,重启路由器,启动项里重启,手动安装都试过了,都不显示
|
87
cbigame0205 4 天前
作者是不是能帮忙看看服务不显示的问题,我看 github 的 Issues 里也有人提过这个问题,本帖里也有其他人,应该是某个共性的问题。
我的 固件版本 ImmortalWrt 24.10-SNAPSHOT r33226+3-0dfdb7b25f / LuCI openwrt-24.10 branch 25.170.50544~8fa3810 内核版本 6.6.93 |
88
jsq2627 OP @cbigame0205 建议不要太纠结于没有 luci ui ,可以直接编辑 /etc/config/rtp2httpd ,用 /etc/init.d/rtp2httpd restart 来启动
因为我手上没有 openwrt 24.10 的测试环境,所以暂时不好 debug |
89
cbigame0205 4 天前
@jsq2627 因为更新比较频繁的,编辑/etc/config/rtp2httpd 会让设置每次都重置吗
另外一个主要是有 UI 我可以远程访问我父母家的路由器改设置,通过改文件就比较麻烦了 还是感谢楼主 |
90
jsq2627 OP @cbigame0205 不会被覆盖,opkg 在升级时会保留 /etc/config 下被修改的文件不被覆盖
|
91
jsq2627 OP @cbigame0205 我后面有时间会去测试和适配 24.10 的,作为主流版本肯定不会不管
|
92
cbigame0205 4 天前
好的,反正 star 项目了,后面再关注,感谢
|
93
jessechoi 4 天前
@jsq2627 我的是 istoreOS ,istore 里有 udpxy 、msd_lite 一键安装运行后很适合小白用户,希望以后 rtp2httpd 也能上架!
|
94
jsq2627 OP @dream7758522 现在重新运行遍一键安装脚本就可以升级
|
95
jsq2627 OP |