Skip to content

Releases: stackia/rtp2httpd

v3.2.2

11 Nov 08:01
55db418

Choose a tag to compare

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

v3.2.1

11 Nov 02:55
801c23b

Choose a tag to compare

  • 修复第二次更新 M3U 时程序崩溃问题
  • 修复网页播放器静音按钮有些时候点了没反应问题
  • 优化网页播放器的初始化加载速度

v3.2.0

09 Nov 12:35
3fca0d6

Choose a tag to compare

新功能

  • 支持使用 uclient-fetch 作为未安装 curl 时的替代
    • uclient-fetch 在 OpenWrt 默认已自带,是非常轻量的 curl 替代品
  • 转换后的 M3U (/playlist.m3u) 和 EPG (/epg.xml.gz) 支持 ETag 缓存协商
  • 网页播放器新增画中画模式
  • 网页播放器新增强制 16:9 画面比例选项
    • 考虑到国内标清频道强行把 16:9 画面缩放到 4:3,这个选项默认设置为开启
  • 优化网页播放器前端资源内嵌方式,binary 体积减小 18%
    • 目前 x86_64 binary 为 308 KB,剔除前端资源后仅为 138 KB
    • 作为对比,msd_lite 是 148 KB,udpxy 是 71 KB,其他同类 Go 或 Rust 编写的程序则是几 MB 起步
    • rtp2httpd 在很小的体积内,实现了丰富的功能和优于 msd_lite 的性能
    • 这是启用 -O3(性能优化)而非 -Os(体积优化)的编译结果
    • 以上陈述,是为了打破一些人认为 rtp2httpd 加入播放器导致臃肿、性能变差的观点
    • 事实上追求体积更小是没多少意义的,大多数用来折腾的路由器普遍 CPU、内存、闪存性能过剩

问题修复

  • 修复由于周期性 IGMP Membership Report 未设置 Router Alert 选项,导致在 omcproxy 下无法工作问题
  • 修复在 rtp2httpd.conf 配置中直接编写带有 x-tvg-url 的 M3U 时,EPG 不能定时自动更新问题
    • EPG 的更新周期和 M3U 一样,由 external-m3u-update-interval 配置项控制
    • external-m3u-update-interval 的默认值已由 24 小时调整为 2 小时
  • 修复随开机启动时,因可能暂时没有网络而导致外部 M3U 拉取失败,程序直接崩溃问题
  • 修复网页播放器 EPG 节目单只显示 3 天数据问题,现在可以正确显示所有日期的节目
  • 修复无法解析 rtp2httpd.conf 中 = 左右不带空格的写法(例如 key=value
  • 修复上游超时、报错时,未给客户端发送 HTTP 状态码而直接断开连接问题

v3.1.3

02 Nov 16:50
a4548bd

Choose a tag to compare

  • 修复当 IPTV 接口的 PPPoE 重新拨号后,程序必须重启才能恢复正常的问题
  • 修复状态面板上,多个相同 IP 的客户端,只有一个被显示出来
  • 网页播放器增加一个实验性选项:回看切片尾偏移,默认是 0,即每次回看请求从起始时间到当前时刻的片段
  • 优化网页播放器的重试逻辑,当有解码失败(丢包)时,可以自动重试,不会像之前那样卡住

v3.1.2

01 Nov 11:22
d812264

Choose a tag to compare

  • 切换到 OpenWrt 24.10 SDK 来构建 ipk 包,解决在 24.10 上安装语言包时出现报错问题
    • LuCI 会受到浏览器缓存影响,如果升级后出现问题,需要 Ctrl+F5 刷新清空浏览器缓存使用无痕模式访问 解决

v3.1.1

31 Oct 05:31
3ecd734

Choose a tag to compare

  • 增加 --xff 配置项,独立控制是否接受 X-Forwarded-For 头 (by @zzzz0317 in #114)
    • 如果 --hostname 配置了 http://https:// 开头的地址,这个选项会自动开启
    • 具体行为见 公网访问建议
  • OpenWrt 开机启动顺序从 50 调整为 99
    • rtp2httpd 启动时会拉取 m3u,需要保证网络就绪,因此需要较晚启动
  • 修复 OpenWrt 包每次升级后,/etc/rtp2httpd.conf 被重置为默认问题,现在会保留之前编辑过的文件
  • 优化 LuCI UI 布局,由于设置项越来越多,现在使用多个 tab 来组织
    • 升级后,需要清空浏览器缓存(或用无痕模式访问),才可以看到更新的 LuCI UI
  • 为方便各位自行编译 OpenWrt 包或固件,本项目已提供开箱即用的 Makefile,用法见 OpenWrt 编译安装

v3.1.0

29 Oct 20:00
0f04e53

Choose a tag to compare

  • 当使用反向代理时,rtp2httpd 现在能够解析 X-Forwarded-For 头作为客户端实际地址,显示在状态面板上
  • 支持在 URL 上带上 &r2h-seek-offset=xx 作为回看时间偏移量
  • 内置 Web 播放器现在支持更多复杂的 catchup-source 时间占位符格式,具体见 内置播放器支持的时间占位符
  • 回看时间参数现在能自动识别和兼容 playseektvdr 两种格式,并且支持自定义,整个时间处理系统强大而灵活,详见 RTSP 时间处理与时区转换
  • 支持 RTSP Digest 认证
  • 修复 Docker 镜像未安装 curl 问题
  • 修复 catchup="append" 模式下,m3u 转换后的 catchup-source 未能把开头的 & 转为 ? 导致 URL 错误

v3.0.4

28 Oct 10:19
80430de

Choose a tag to compare

  • 修复 M3U 定时更新后,#EXTM3U 头消失问题
  • 修复 LuCI UI 的打开状态页、播放器页按钮,在主机名/域名填写带有 http:// 前缀 URL 时,无法正确打开页面问题
  • 修复使用 r2h-token 时,用内置网页播放器播放视频时,出现 Invalid RTP/UDP URL format 错误日志问题

v3.0.3

28 Oct 03:34
7600602

Choose a tag to compare

  • Host 头检查只匹配域名,不再匹配端口,增加对反代透传 Host 头的兼容性
  • 修复使用反代并有 URL 前缀时,内置播放器不能加载 playlist.m3u 问题
  • M3U 转换时,服务地址加入 group-title 前缀
  • 当 M3U 中有重复的频道名时,现在能够正确识别并创建带有数字后缀的 URL
  • 移除未按预期工作的内置 daemonise 支持(--daemonise 参数)。后台运行建议使用系统机制(init.d, systemd 等)。

v3.0.2

27 Oct 13:33
97b0188

Choose a tag to compare

  • 默认设置 SO_RCVBUF 为 512KB,增强 4K 转发稳定性
  • 改进对使用反向代理场景的支持,需要配置 hostname,具体见 公网访问建议
  • 内置播放器的 EPG 节目单支持按照 tvg-name 匹配