Skip to content

v3.2.0

Choose a tag to compare

@stackia stackia released this 09 Nov 12:35
· 97 commits to main since this release
3fca0d6

新功能

  • 支持使用 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 状态码而直接断开连接问题