0.20.8
0.20.8.0 (July 6, 2026)
OvenMediaEngine
[Compatibility]
- Compatible with the
Server.xmlconfiguration format used in version 0.12.6 or later. - Compatible with Origin and Edge versions 0.20.8.0 or later.
[Added]
- Added NACK-based packet retransmission (RTX) support in the WebRTC Provider. When the publisher-to-server connection loses packets, the server can now request retransmission, significantly reducing corrupted frames on poor networks. Enable via
<WebRTC><Rtx><Enable>true</Enable></Rtx></WebRTC>in the Application configuration. - Added a new Anomaly Detection rule, TrackPrepareTimeout, that detects when a negotiated track fails to deliver media within a configurable timeout while other tracks keep arriving. This catches partial failures such as a missing WebRTC Simulcast layer that would otherwise stall stream preparation indefinitely. Configure under
<Alert><Rules><Anomaly><TrackPrepareTimeout>.
[Fixed]
- Fixed an issue where the output framerate was set to twice the source framerate when using an NVIDIA hardware decoder and no explicit framerate was configured in the output profile. (Enterprise only)
- Fixed an intermittent crash (
SIGABRT) that could occur when the HAProxy protocol was enabled and a connection sent only a partial data header. (Enterprise only) - Fixed a crash that occurred when stopping a stream while the STT (Speech-to-Text / Whisper) feature was configured but disabled.
- Fixed LLHLS playback stalling or stopping shortly after start when viewed in Safari (native HTTP playback). Intermittent stuttering under HTTPS was also reduced.
- Fixed an issue where the Reason field in Push session error logs appeared empty when a Push session failed to connect to its destination.
- Fixed LLHLS audio failing to play on native Safari (iOS and macOS) when the source was ingested via MPEG-TS/SRT/RTSP Pull.
- Fixed an issue where brief UDP packet reordering in a Multicast stream caused the server to unnecessarily disconnect and reconnect the stream. (Enterprise only)
- Fixed playback issues caused by out-of-order UDP packets in MPEG-TS/UDP ingest, which previously caused the stream to reconnect repeatedly. An optional packet reordering buffer can be enabled via
<PacketReordering>in the MPEG-TS Provider configuration. - Fixed a crash that could occur when the internal queue statistics API (
/v1/stats/current/internals/queues) was polled while streams were being created or destroyed. - Fixed an issue where the Alert system sent spurious
codes=[OK]recovery notifications while an internal queue congestion condition was still active, causing external monitoring systems to misread stream health. - Fixed an issue where the Whisper STT model preload targeted the wrong GPU on hosts where OME and CUDA enumerate devices in different orders, causing the preloaded model to be unusable.
- Fixed hardware rescaler filters (NVIDIA/XMA) to use only 1 thread for the filter graph, reducing unnecessary CPU and thread usage when handling many streams. (Enterprise only)
[Improved]
- Higher concurrent WebRTC ingest and playback capacity on Linux. UDP traffic for a single ICE port is now spread across multiple worker sockets, allowing the kernel to utilize multiple CPU cores. Configure via
<IceWorkerCount>in the WebRTC Provider settings. - Improved WebRTC playback smoothness at startup and under jitter by refining the Pacer jitter buffer algorithm. Viewers on unstable networks should experience fewer visual stutters, especially in the first few seconds of playback.
- The internal queue statistics API (
/v1/stats/current/internals/queues) and congestion alert payloads now include per-queue dwell-time percentiles (p50, p90, p99) to help operators distinguish brief jitter spikes from genuine backlog.
Web Console
[Added]
- Added a Recording Files section to the Web Console. Operators can now browse, download, and delete recorded files directly from the console without needing direct server access.
- Added ICE Worker Count and TCP ICE Worker Count settings to the WebRTC bind configuration in the Web Console. Operators can now configure socket-level worker distribution for both UDP and TCP ICE directly from the Settings page.
[Fixed]
- Fixed an issue where switching to a different stream in the Web Console after a player initialization error would cause the previous stream to play instead of the newly selected one.