经常折腾 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 7 天前
组播必须开通 iptv 服务才可以么
|
![]() |
2
v1 7 天前 ![]() @freebsdjlu 看运营商和省份,比如上海移动的,你只要是移动宽带,用别人抓包出来的组播地址也可以用
|
3
Damn 7 天前 via iPhone
澄迈的道友
|
![]() |
4
Ccf 7 天前
济南联通有懒人版么
|
![]() |
5
datou 7 天前
我电信的机顶盒还要 pppoe 一下
|
7
Kale 6 天前
谢谢 OP ,请问之前开通过 IPTV ,但是一直用不了,因为电视机那里没留网线口,用这个可以吗?路由器是软路由 openwrt
|
![]() |
8
jsq2627 OP @Kale 可以,这也是大多数人折腾 iptv 内网融合的原因。重点是搞清楚本地运营商认证方式,在 openwrt 上接通 iptv 网络,设置好路由策略,具体搜索 iptv 内网融合
|
![]() |
9
ajyz 6 天前
看着很强大,先支持一下
|
![]() |
10
zli 6 天前
请问一下 OP ,
25 条 1080p 组播流同时播放演示视频里 用的是哪款播放器? |
![]() |
11
jsq2627 OP @zli mac 端的 APTV https://aptv.wegic.app
|
13
piero66 6 天前
star 了
|
14
109653VIP 6 天前
有没有单文件的编译
|
15
Archeb 6 天前
感谢开源!虽然广东电信这边支持 RTSP 单播,但是有这么一个现代化的项目肯定能造福很多 IPTV 用户
|
![]() |
16
Rinndy 6 天前 via iPhone
不知道为什么播放 1 分钟左右就断开重连,正常吗
|
17
iloveyou1985 6 天前 via iPhone
我是 x86 的 ikuai 软路由,可以用吗?
|
18
foxk 6 天前
Nice ,必须 Star
|
![]() |
19
lvxudong 5 天前
好东西
|
![]() |
20
jsq2627 OP ikuai 我了解比较少。可以尝试自己编译,图省事的话可以尝试 docker 方案
x86 openwrt 肯定是可以的,我自己就是 x86 openwrt 软路由 |
![]() |
21
jsq2627 OP @iloveyou1985 👆
|
![]() |
24
heiher 5 天前 via Android
|
25
scegg 5 天前
开始播放一分钟左右,会重新缓冲一次,后续观察了 3 分钟不会再有缓冲问题。
再换个频道还是一样一分钟后重新缓冲一次。 |
26
qiankunyu 4 天前 via Android
弄完了电视和手机都没问题,电脑 potplayer 报错
|
![]() |
27
jsq2627 OP |
28
scegg 4 天前
@jsq2627 测试 V2.2.0 ,并在同一个环境( openwrt )下测试了 udpxy 。深圳电信 IPTV 。
延迟低的频道:会在打开几秒后重新缓冲一次,之后一切正常。 延迟高( 1000ms+)的频道:播放中会明显出现解码错误导致色块,帧内容前后重叠等(对于字幕区域特别明显)。 udpxy 测试同样的频道没有类似的问题,可能实现的机制有所不同? |
29
yutian12345 4 天前 via Android
直接转就可以快速换台吗
|
30
YGBlvcAK 4 天前
非常感谢大佬的分享,不会编译,求个 x86 的二进制包,同时求个北京联通和移动的 FCC 地址?
|
31
yutian12345 3 天前
同样沒有 luci 显示,而且修改完配置用命令重启也没用
能弄个旧版本兼容不 |
32
yutian12345 3 天前
搜了一下提示 MSG_ZEROCOPY support is required
应该是内核太老,没法搞了 |
![]() |
33
FakerLeung 3 天前
家里有 IPtv ,怎么抓包出来?因为我爸希望在外出旅游时也想看?能说下怎么用吗
|
34
qiankunyu 3 天前 via Android
有大佬抓一下江苏电信最新的 fcc 地址吗
|
![]() |
35
jsq2627 OP @yutian12345 最低内核要求 4.14 ,应该是太老了。项目强依赖内核的 MSG_ZEROCOPY 特性,没法继续向下兼容了
|
![]() |
36
y1y1 3 天前
原来 FCC 是这个意思,挺不错的工具
|
![]() |
40
jsq2627 OP |
41
CHNTDCS 3 天前
真不错,晚上有空了替换了 udpxy 试试看效果。
|
43
wolonggl 3 天前
建议增加一个播放日志记录功能
|
![]() |
44
siriussilen 2 天前
Nice Work
|
45
m1s4k1 2 天前
对比 udpxy 有哪些优势呢, 有替换的意愿
|
47
wolonggl 2 天前
我这边测试播放电信 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 1 天前 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 1 天前
MSG_ZEROCOPY support is required
群晖内核太老了,已经搞不上去了 |
53
hjj0529 18 小时 5 分钟前
支持,广西电信测试,好用。
|