Releases: stackia/rtp2httpd
Release list
v3.15.0
新功能
全新的视觉设计
状态面板和网页播放器的 UI 设计现已全面焕新,引入玻璃和光影元素,更具现代感和沉浸感。rtp2httpd logo、官网也同步进行了视觉焕新。
web-player.mp4
网页播放器
- 全新的视频渲染管线,画面更清晰、更流畅
- 新增“自动反交错“选项,开启后画面更稳定干净,不会再出现梳齿状条纹
- 新增“画质增强”选项,开启后将采用 AMD FSR 1 超分算法,改进高清、标清频道在现代 2K、4K 显示器上的渲染效果
- 以上特性在桌面端默认开启,在移动端默认关闭(使用了 GPU 加速,功耗较高)
- 在进度条下方显示分辨率、帧率、音视频编码、实时码率等信息
- 改进播放失败时的错误提示,引导用户查看日志
- 改进画中画(PiP)控制体验,当开启 HTTPS 时,画中画可以显示进度条和控制按钮
问题修复
- 修复工作进程崩溃后,在状态面板残留客户端连接,无法被清理问题
- 网页播放器:
- 修复在移动端,浏览器切到后台一段时间再切回来后,音视频无法同步、音频复读机问题
- 修复在移动端,点击视频有时无法唤起进度条浮层问题
- 修复部分频道由于节目源的音频延迟导致无声问题
- 手机端的锁屏/导航栏进度条,现在可以正确反映实际 EPG 播放进度,并可以切换上下频道
- 修复在 Android 设备竖屏下全屏播放无法真正全屏问题
- 改进 PWA 适配,在 HTTPS 下可以正确触发浏览器 PWA 安装流程
- 优化手机的横屏下,视频和右侧边栏对刘海屏、打孔屏的适配
- 优化解码性能、长节目列表渲染性能
对飞牛 fnOS 用户的特别提醒
如果你通过飞牛应用商店安装使用 rtp2httpd,从旧版本更新到 v3.14.1 及以上版本,可能会遇到播放失败、playlist.m3u 加载失败等问题。新版为了适配飞牛统一网关,所有 URL 需要带上前缀 /app/rtp2httpd,导致播放路径改变。因此需要调整原有的播放器配置。
参考下面例子:
组播转发:
http://<ip>:<port>/rtp/239.253.64.120:5140 -> http://<ip>:<port>/app/rtp2httpd/rtp/239.253.64.120:5140
M3U 播放列表:
http://<ip>:<port>/playlist.m3u -> http://<ip>:<port>/app/rtp2httpd/playlist.m3u
状态面板、网页播放器:
http://<ip>:<port>/status -> http://<ip>:<port>/app/rtp2httpd/status
http://<ip>:<port>/player -> http://<ip>:<port>/app/rtp2httpd/player
很抱歉在飞牛商店更新日志里没有提到此变更。我们在后续版本上架时会调整更新日志说明此变化。
| 如果这个项目对你有帮助,不妨请作者喝一杯咖啡 ☕️ |
|---|
New Features
A Brand-New Visual Design
The status dashboard and web player have been completely redesigned with glass and lighting effects for a more modern, immersive experience. The rtp2httpd logo and official website have also received a visual refresh.
web-player.mp4
Web Player
- A new video rendering pipeline delivers sharper, smoother video
- Added an “Auto Deinterlacing” option for a cleaner, more stable picture without combing artifacts
- Added a “Quality Enhancement” option powered by AMD FSR 1 upscaling to improve the rendering of HD and SD channels on modern 2K and 4K displays
- These features are enabled by default on desktop and disabled by default on mobile because GPU acceleration increases power consumption
- Added resolution, frame rate, audio and video codecs, real-time bitrate, and other details below the progress bar
- Improved playback failure messages to guide users to the logs
- Improved Picture-in-Picture (PiP) controls; over HTTPS, PiP can now display a progress bar and control buttons
Bug Fixes
- Fixed stale client connections remaining on the status dashboard after a worker process crashes
- Web player:
- Fixed audio/video desynchronization and repeating audio after returning to a mobile browser that had been in the background for a while
- Fixed an issue where tapping the video on mobile sometimes failed to reveal the progress bar overlay
- Fixed missing audio on some channels caused by delayed audio in the source stream
- The lock-screen and notification-area progress bar on mobile now correctly reflects the actual EPG playback position and supports switching to the previous or next channel
- Fixed fullscreen playback failing to enter true fullscreen in portrait orientation on Android devices
- Improved PWA support so the browser installation flow is correctly triggered over HTTPS
- Improved landscape safe-area handling for notches and hole-punch displays in the video and right sidebar on mobile
- Improved decoding performance and rendering performance for long program lists
Special Notice for fnOS Users
If you installed rtp2httpd from the fnOS App Store, upgrading from an older version to v3.14.1 or later may cause playback failures or prevent playlist.m3u from loading. To support the fnOS unified gateway, all URLs in newer versions must include the /app/rtp2httpd prefix, which changes the playback paths. You therefore need to update your existing player configuration.
For example:
Multicast forwarding:
http://<ip>:<port>/rtp/239.253.64.120:5140 -> http://<ip>:<port>/app/rtp2httpd/rtp/239.253.64.120:5140
M3U playlist:
http://<ip>:<port>/playlist.m3u -> http://<ip>:<port>/app/rtp2httpd/playlist.m3u
Status dashboard and web player:
http://<ip>:<port>/status -> http://<ip>:<port>/app/rtp2httpd/status
http://<ip>:<port>/player -> http://<ip>:<port>/app/rtp2httpd/player
We apologize that this change was not mentioned in the fnOS App Store update notes. We will update the notes for future releases to make this change clear.
v3.15.0-rc.1
- 修复工作进程崩溃后,在状态面板残留客户端连接,无法被清理问题
- 网页播放器:
- 在进度条下方显示分辨率、帧率、音视频编码、实时码率等信息
- 改进播放失败时的错误提示,引导用户查看日志
- 修复在移动端,浏览器切到后台一段时间再切回来后,音视频无法同步、音频复读机问题
- 修复在移动端,点击视频有时无法唤起进度条浮层问题
- 优化解码性能
v3.15.0-rc.0
- 全新的网页播放器视频渲染管线,画面更清晰、更流畅
- 支持自动反交错,画面更稳定干净,不会再出现梳齿状条纹
- 采用 AMD FSR 1 超分算法,改进高清、标清频道在现代 2K、4K 显示器上的渲染效果
- 以上特性充分利用 GPU 加速,可以在现代 PC、手机、平板上高效运行
- 改进画中画(PiP)控制体验,当开启 HTTPS 时,画中画可以显示进度条和控制按钮
v3.14.3
- 开启 TCP Keepalive,加快僵尸客户端检测,减少资源占用
- 修复 macOS/FreeBSD 当有多个网卡接口或开启 VPN 时,可能无法正常接收组播问题
- 改进网页播放器中 AC-3 / E-AC-3 音频的解封装和 MP4 重新封装
- 修复部分 AC-3 音频流无法正常播放的问题
- Enable TCP keepalive with aggressive timers to detect dead clients faster and reduce resource usage
- Fix multicast reception issues on macOS/FreeBSD when multiple network interfaces or VPN are active
- Improve AC-3 / E-AC-3 audio demuxing and MP4 remuxing in the web player
- Fix playback issues with certain AC-3 audio streams
v3.14.2
v3.14.1
新功能
- 支持写入 访问日志 到文件,便于审计和对接外部日志系统
- 支持自定义 Web 资源前缀 app-path-prefix
- 指定前缀后,所有资源和媒体地址(包括
/status,/player,/playlist.m3u,/epg.xml等)都需要加上前缀访问 - 典型场景:通过前置反代或网关,根据不同的前缀路由到不同应用,此时可配合 app-path-prefix 选项使用
- 指定前缀后,所有资源和媒体地址(包括
- 支持 监听 Unix Socket,便于和其他程序互操作
- 新增配置项 use-relative-path-in-m3u,开启后,rtp2httpd 生成的 m3u 内的 URL 将省略 http://host/ 前缀
- 适用于前置反代场景,但由于各种原因反代无法正常传入 X-Forwarded-* 头,rtp2httpd 无法得知自身完整地址
- 内置网页播放器已适配,但一些第三方播放器不兼容这种 m3u
- 网页播放器:支持单频道多分组(在 m3u group-title 使用分号分隔多个组名,例如
group-title="央视;高清")
问题修复
- 网页播放器:移除
MP2 音频软解开关,默认开启软解- 由于 Chrome 149.0.7827.197 将音频引擎从 FFmpeg 切换到了 Symphonia,导致此版本以及未来版本无法正常原生解码 MP2 音频(包括 PC / Mac / Android),因此决定移除此开关,以后只使用内置 WASM 软解方式。
- 网页播放器:优化 MP2 软解表现,响应更快,更少毛刺,音画更同步
- 网页播放器:修复偶然报错
The play() request was interrupted by a new load request.
New Features
- Added support for writing access logs to a file for auditing and integration with external logging systems
- Added a configurable web resource prefix via app-path-prefix
- When a prefix is set, all resources and media endpoints (including
/status,/player,/playlist.m3u,/epg.xml, and others) must be accessed with that prefix - Typical use case: routing different applications through a reverse proxy or gateway by path prefix
- When a prefix is set, all resources and media endpoints (including
- Added support for listening on a Unix socket for easier inter-process integration
- Added the use-relative-path-in-m3u option; when enabled, URLs in generated M3U playlists omit the
http://host/prefix- Useful in reverse-proxy setups where
X-Forwarded-*headers are unavailable and rtp2httpd cannot determine its own public URL - The built-in web player supports this format, but some third-party players do not
- Useful in reverse-proxy setups where
- Web player: added support for multiple groups per channel (use semicolons in M3U
group-title, e.g.group-title="CCTV;HD")
Bug Fixes
- Web player: removed the
MP2 audio soft decodetoggle; soft decoding is now always enabled- Chrome 149.0.7827.197 switched its audio engine from FFmpeg to Symphonia, breaking native MP2 decoding on PC, Mac, and Android in this and future versions; the toggle was removed in favor of the built-in WASM soft decoder
- Web player: improved MP2 soft decoding with faster startup, fewer glitches, and better A/V sync
- Web player: fixed intermittent
The play() request was interrupted by a new load request.errors
v3.14.0
v3.13.5
此版本仅包含以下针对网页播放器的改进:
- 修复在特定硬件上开启无缝换台后,快速连续换台导致 Chrome 媒体管线卡住,后续切换新频道都无法播放,必须重启 Chrome 问题
- 修复 iOS 上切换频道总是弹出“需要用户交互才能播放”的问题
- 优化在未配置 M3U 时的错误提示,引导用户前往官网教程
This release only includes the following web player improvements:
- Fixed an issue on certain hardware where enabling seamless channel switching and rapidly switching channels could stall Chrome's media pipeline, leaving all subsequent channels unplayable until Chrome was restarted
- Fixed channel switches on iOS always triggering the "user interaction required to play" prompt
- Improved the error message when no M3U playlist is configured, with guidance pointing users to the official tutorial
v3.13.4
此版本仅包含以下针对网页播放器的改进:
- 修复 16:9 视频在一些特定窗口大小下的比例和位置问题
- 修复开启无缝切换时,在多个频道间快速切换,中间还是会出现黑屏问题
- 修复多次频道切换后,有可能整个播放器无响应,后续切换任何频道都黑屏问题
- 优化台标 logo 在浅色主题下的显示效果
- 现在能够在刷新页面后,保留之前调整过的音量和静音状态
- 新增:视频左上角显示当前系统时间
This release only includes the following web player improvements:
- Fixed aspect ratio and positioning for 16:9 video at certain window sizes
- Fixed black screens that could still appear when rapidly switching channels with seamless switching enabled
- Fixed the player becoming unresponsive after multiple channel switches, leaving all subsequent channels black
- Improved channel logo visibility in light theme
- Volume and mute settings now persist after page refresh
- Added system time display in the top-left corner of the video
v3.13.3
- 网页播放器:新增无缝换台功能,开启后切换频道时中间没有黑屏,无缝切换(默认开启)
- 由于在换台过程中短暂存在两路视频同时拉流的情况,如果你的带宽比较小(公网访问时),或是上游只支持单路组播,导致换台出现卡顿,可以手动关闭这个选项
- 网页播放器:修复 HLS 模式下,对于一些特定的编码的 TS 片段,播放可能卡住的问题
- 网页播放器:修复 HLS 模式下,“返回直播”按钮点击后报错或时间错乱问题
- 网页播放器:修复在 iPhone Edge 或 iPad上,未能自动检测并启用“MP2 音频软解”选项的问题
- Web player: added seamless channel switching; when enabled, channel changes no longer show a black screen in between (enabled by default)
- Because switching may briefly pull two video streams at once, you can manually disable this option if you have limited bandwidth over the public internet, or if your upstream only supports a single multicast stream and channel switching becomes choppy
- Web player: fixed HLS playback that could stall on TS segments with certain encodings
- Web player: fixed the "Go Live" button in HLS mode causing errors or timeline glitches after click
- Web player: fixed MP2 software-decoded audio not being auto-detected and enabled on iPhone Edge or iPad