Skip to content

Releases: stackia/rtp2httpd

v3.6.1

31 Dec 04:47
2322a9f

Choose a tag to compare

  • 兼容之前的 hostname 配置行为,即当配置了 https://your-domain.com 时,生成的 m3u 内的频道地址会使用 https 而不是默认的 http

v3.6.0

30 Dec 16:38
eb78098

Choose a tag to compare

新功能

  • 新增 r2h-start 参数用来指定 RTSP PLAY 起始时间 by @yydewf
  • 优化对反向代理场景的支持,playlist.m3u 现在会总是使用用户实际请求的 host 作为地址前缀。反向代理的具体配置方式请参考 公网访问建议
    • 如果你原先使用 hostname 配置项来解决反代地址问题,现在需要改成开启 xff 配置项并透传 X-Forwarded-For / X-Forwarded-Host / X-Forwarded-Proto 头(对于 lucky,勾选“万事大吉”选项即可)
  • INFO 日志输出现在会记录客户端的访问 IP: New client <ip>:<port> requested URL

问题修复

  • 改进对 gzipped epg.xml 兼容性 by @taksssss

v3.5.2

12 Dec 18:37
95cd751

Choose a tag to compare

  • 网页播放器:视频正常播放时,现在可以自动隐藏鼠标指针

v3.5.1

28 Nov 12:57
53d3e1b

Choose a tag to compare

  • 修复在 Docker 内,v3.5.0 worker 持续崩溃无法正常运行问题

v3.5.0

28 Nov 05:12
d7bf885

Choose a tag to compare

新功能

  • 优化程序的生命周期管理,确保工作进程因各种异常退出时,能够被主进程重启
  • 支持配置热重载。rtp2httpd 主进程现在支持以下信号:
    • SIGHUP: 重新加载配置文件、重新拉取 M3U/EPG(不会断开已经连接的客户端)
    • SIGUSR1: 强制重启所有工作进程(会断开所有已经连接的客户端)
  • 对于 OpenWrt,运行后会在 /var/run 下写入 pid 文件,方便用户输入信号
    • 例如:可以通过 kill -HUP $(cat /var/run/rtp2httpd_*.pid) 输入 SIGHUP 触发配置热重载
  • 在状态面板新增“服务控制”,目前支持重载配置、重启工作进程、清空日志
image

问题修复

  • 优化网页播放器性能,提升在一些低端设备上的 UI 响应性(例如 LG 电视 📺)
  • OpenWrt LuCI 面板,r2h-token 不再使用密码样式输入框,避免触发一些浏览器的自动填充而用户不知情

v4 展望

此版本预计会是 v3 系列最后一个有新功能的版本,后续在 v3 上只会进行 bugfix,作者精力将会聚焦到 v4 开发。

v4 预计将会带来这些新功能:

  • RTP / RTSP / HTTP / HLS 任意互转(WebSocket / WebRTC 考虑中)
  • 给 OpenWrt 以外的更多平台带来原生插件(爱快、飞牛、Home Assistant 等)
  • 增强对反向代理的支持,解决目前在反代后运行出现的各种问题
  • 跨平台支持(macOS / Windows):考虑到一些人使用 macOS 作为旁路由,还有一些人自己搭建 Windows NAS

敬请期待。

如果这个项目对你有帮助,不妨请作者喝一杯咖啡 ☕️

v3.4.0

21 Nov 10:19
045d0aa

Choose a tag to compare

新功能

  • OpenWrt 一键安装脚本:支持手动输入版本号,安装指定版本
  • 网页播放器:
    • 对于支持回看的频道,如果 EPG 没有内容,现在会用 精彩节目 填充
    • 通过 剪裁 mpegts.js,使 rtp2httpd 文件体积更小
    • 全屏时自动关闭侧边栏
    • 在支持的设备上(例如 iOS / macOS Safari),现在可以播放 AC-3 编码音频
    • 优化键盘和遥控器操作体验
      • 对于 LG 电视 webOS,用内置浏览器打开 rtp2httpd 网页播放器,可以算是目前 webOS 上最好的 IPTV 播放体验
      • 目前支持的快捷键如下:
        • 数字键:直接跳转频道号
        • 回车 或 s:打开/关闭侧边栏
        • 空格:播放/暂停
        • 键盘上下方向键、PageUpPageDown、遥控器频道上下键:上下切换频道
        • 键盘左右方向键:调整进度条(对于支持回看的频道)
        • Esc:显示进度条3秒
        • f:切换全屏
        • m:切换静音

问题修复

  • 修复 OpenWrt LuCI UI “自动重启” 选项无效问题
  • 修复 IGMP Membership Report 未带上 Router Alert option 导致部分上游设备无法识别,组播周期重加入无效问题
  • 修复对于特定地区 FCC 服务器(成都移动),无法收到单播流问题

v3.3.2

19 Nov 14:45
d36f1ef

Choose a tag to compare

  • 修复偶发组播无法离开,一直持续接收组播流、持续占用带宽问题
  • 周期性组播重加入现在会同时发出 IGMPv2 和 IGMPv3 Membership Report,解决上游仅支持 IGMPv2 时无法工作问题(此前只发送了 IGMPv3 Membership Report)
  • 网页播放器:修复 M3U 只有 tvg-name 时,在特定 EPG 源下无法找到节目问题

v3.3.1

13 Nov 10:45
b0af077

Choose a tag to compare

  • 为了保持兼容,不再对 8027 端口 FCC 服务器都默认使用华为协议交互。现在不指定 fcc-type 默认为电信协议,要使用华为协议必须手动指定 fcc-type=huawei
  • 修复 Docker arm64 / armv7 镜像

v3.3.0

12 Nov 17:20
8e008e3

Choose a tag to compare

新功能

  • 支持华为 FCC 协议
    • 国内有四种 FCC 协议:电信(中兴)、华为 v1、华为 v2、烽火。此前 rtp2httpd 只实现了电信协议,这个版本新增了华为 v1 协议。
    • 华为协议有更好的稳定性和 NAT 穿透能力。有些省份必须依赖 NAT 穿透才能使用 FCC(例如山西电信、山西联通)。
    • 华为 IPTV 平台同时支持电信协议和华为协议。从这个版本开始,对所有 8027 端口 FCC 服务器都默认使用华为 v1 协议交互。
    • 如果你遇到问题,可以使用 fcc-type 参数手动指定协议类型,见文档 fcc-type 参数说明
  • 支持 wget 作为 curl / uclient-fetch 不存在时的替代工具
  • 优化 Docker 镜像大小,用 alpine 作为 base,从 90 MB 缩减到 9 MB

问题修复

  • 改进 M3U/EPG 更新失败时的重试逻辑,现在将会尝试尽快重试,而不是等下一个更新周期
    • 解决了之前 rtp2httpd 随开机启动时,经历短暂无网状态导致无法及时拉取 M3U/EPG 问题
  • 修复长时间运行可能随机崩溃问题
    • 这个问题由 v3.2.0 引入,仅在使用外部 M3U 时发生
  • 修复 /epg.xml.gz 在一些播放器无法识别问题(例如酷9)
  • 修复状态面板的“断开”、“修改日志等级”有概率失败报错问题
  • 调整网页播放器 RTSP 回放时的片段长度,改善对一些源的兼容性

v3.2.2

11 Nov 08:01
55db418

Choose a tag to compare

  • 调整 shared memory 映射方式,支持在光猫上运行