Releases: stackia/rtp2httpd
Releases · stackia/rtp2httpd
v3.2.2
v3.2.1
v3.2.0
新功能
- 支持使用
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 小时
- EPG 的更新周期和 M3U 一样,由
- 修复随开机启动时,因可能暂时没有网络而导致外部 M3U 拉取失败,程序直接崩溃问题
- 修复网页播放器 EPG 节目单只显示 3 天数据问题,现在可以正确显示所有日期的节目
- 修复无法解析 rtp2httpd.conf 中
=左右不带空格的写法(例如key=value) - 修复上游超时、报错时,未给客户端发送 HTTP 状态码而直接断开连接问题
v3.1.3
v3.1.2
v3.1.1
- 增加
--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
- 当使用反向代理时,rtp2httpd 现在能够解析
X-Forwarded-For头作为客户端实际地址,显示在状态面板上 - 支持在 URL 上带上 &r2h-seek-offset=xx 作为回看时间偏移量
- 内置 Web 播放器现在支持更多复杂的 catchup-source 时间占位符格式,具体见 内置播放器支持的时间占位符
- 回看时间参数现在能自动识别和兼容
playseek和tvdr两种格式,并且支持自定义,整个时间处理系统强大而灵活,详见 RTSP 时间处理与时区转换 - 支持 RTSP Digest 认证
- 修复 Docker 镜像未安装 curl 问题
- 修复
catchup="append"模式下,m3u 转换后的 catchup-source 未能把开头的&转为?导致 URL 错误