Skip to content

v3.7.0

Choose a tag to compare

@stackia stackia released this 27 Jan 08:38
· 268 commits to main since this release

新功能

  • 新增配置项 udp-rcvbuf-size 用于手动指定 UDP 接收缓冲区大小(默认 512KB)
    • 频繁遇到丢包花屏可以尝试增大这个选项
    • 需要以 root 权限运行才有效(对于 Docker,需要指定 --cap-add=NET_ADMIN
    • 在 OpenWrt LuCI UI 也新增了这个选项 UDP 接收缓冲区大小
  • 新增 RTP 乱序包重排能力,改善一些网络环境下的乱序包花屏问题
    • 开箱即用,无需任何配置
  • 新增 FEC 前向纠错功能,在 URL 上指定 ?fec=<端口> 来启用
    • 有些运营商支持 FEC 前向纠错,用户观看一个频道时,同时接收两个组播流,一个组播流负责发送 RTP 包,另一个组播流负责发送 FEC 冗余包,当 RTP 流丢包时,可以利用 FEC 流进行恢复。
    • FEC 流和 RTP 流使用相同的组播 IP,不同的端口。抓包出来的 ChannelFECPort 就是 FEC 端口。
    • 由于不同运营商的 FEC 纠错算法有差异,未必能支持所有 FEC 算法,如遇问题请提 issue 反馈(需提供抓包文件)
    • URL 示例:http://<ip>:<port>/rtp/239.253.64.120:5140?fcc=10.255.14.152:8027&fcc-type=huawei&fec=5142
  • 一键安装脚本:使用 OpenWrt 自带的 uclient-fetch 代替 curl 避免一些人没有安装 curl 导致脚本失败

问题修复

  • 修复转换后的 playlist.m3u 未在 EPG URL 带上 r2h-token,导致 EPG 加载失败 by @mjl371
  • Web 状态面板不再对每个客户端 URL 重复显示 r2h-token=xxxx,保持 UI 清爽

New Features

  • New configuration option udp-rcvbuf-size to manually specify the UDP receive buffer size (default 512KB)
    • Try increasing this if you frequently experience packet loss and video artifacts
    • Requires root privileges to take effect (for Docker, use --cap-add=NET_ADMIN)
    • Also available in the OpenWrt LuCI UI as UDP Receive Buffer Size
  • New RTP out-of-order packet reordering, improving video artifacts caused by packet reordering in some network environments
    • Works out of the box, no configuration needed
  • New FEC (Forward Error Correction) support, enabled by specifying ?fec=<port> in the URL
    • Some ISPs support FEC: when watching a channel, two multicast streams are received simultaneously — one for RTP packets and another for FEC redundancy packets. When the RTP stream has packet loss, FEC packets can be used for recovery.
    • FEC and RTP streams share the same multicast IP but use different ports. The ChannelFECPort from packet capture is the FEC port.
    • Due to varying FEC algorithms across ISPs, not all FEC algorithms may be supported. Please open an issue if you encounter problems (packet capture required).
    • URL example: http://<ip>:<port>/rtp/239.253.64.120:5140?fcc=10.255.14.152:8027&fcc-type=huawei&fec=5142
  • Installation script: now uses OpenWrt's built-in uclient-fetch instead of curl to avoid failures when curl is not installed

Bug Fixes

  • Fixed the converted playlist.m3u not including r2h-token in the EPG URL, causing EPG loading failures by @mjl371
  • The web status panel no longer repeatedly displays r2h-token=xxxx for each client URL, keeping the UI clean