[Compatibility]
- Compatible with dependencies installed via prerequisites.sh in version 0.19.0 or later.
- Compatible with the Server.xml configuration format used in version 0.12.6 or later.
- Compatible with Origin and Edge versions 0.21.0 or later.
[Added]
- Added an option to set the TimestampMode for RTMP/SRT/MPEG-TS push publishers.
- Added receive timeout support to the Transcode webhook.
- Added ConnectionTimeout and SendTimeout settings to the Push Publisher.
- Added
maxWidthandmaxHeightproperties to the Track object. - Added the
Oven-CapabilitiesHTTP header (max_width=,max_height=) in WHIP. - Added
ExtraOptionsvideo encoding settings for the x264 encoder. - Added a resolution validity check to the H.264/H.265 parser.
- Added support for HLS subtitles.
- Added a FIRInterval setting to the WebRTC Provider.
- Added the
<RtcpBasedTimestamp>option to the WebRTC Provider (default: false). This allows OME to start playback immediately for WHIP input without waiting for RTCP. - Added the
forwardDataoption to ScheduledChannel items (default: false). When set to true, data from the live input is forwarded through the ScheduledChannel. - Added Transport-cc support to WebRTC Bandwidth Estimation, enabling more precise automatic switching in WebRTC ABR.
- Added a
max_fpsoption to OvenCapabilities in WHIP and amax_fpsfield to Stream Info.
[Improved]
- Improved the wrap-around algorithm for the time value inside the TS container.
- Improved logs to show the Transcode webhook response time.
- Improved the Push Publisher to output detailed logs upon failure.
- Improved the logic to prevent duplicate encoder creation.
- Improved the automatic SkipFrames configuration algorithm.
- Improved the cleanup process for (LL-)HLS streams to be faster, regardless of the connection status.
- Improved performance by fixing the number of sessions when (LL-)HLS operates in Origin mode.
- Improved multi-audio input to allow selecting a track by index for Push when VariantName is duplicated.
- Improved multi-audio input to allow selecting a track by index for Record when VariantName is duplicated.
- Optimized transcoding performance by minimizing unnecessary memory copies.
- Improved RTMP encoder compatibility.
- Improved the accuracy of framerate and keyFrameInterval calculations.
- Reduced shutdown times that could previously take longer than expected.
- Improved compatibility between OME and WHIP simulcast in OBS 32.1.0.
- Improved LLHLS playback behavior in OME to address abnormal playback caused by compatibility issues with Shaka Player.
[Changed]
- Changed the default number of retries for the OVT Provider to 0.
- Moved the subtitle configuration from
<Application><OutputProfiles><MediaOptions><Subtitles>to<Application><Subtitles>. - Updated the GET Stream API so that
outputs[]information is returned for streams pulled via OVT. - Updated to support hardware acceleration (Transcoding, Speech-To-Text) with NVIDIA Driver 535+ and CUDA 12.0+.
[Fixed]
- Fixed an issue where the recorded file sometimes got corrupted when the stream ended.
- Fixed a crash that occurred when socket creation failed in the OVT Provider.
- Fixed an issue where receiving an unknown RTMP AMF message could cause a crash.
- Fixed an issue where the Timeout setting in AdmissionWebhooks was not working correctly.
- Fixed an issue where, when WHIP and LLHLS connected as a single session, the connection could be routed to an incorrect module.
- Fixed an issue where the OVT Publisher could crash due to malicious packets.
- Fixed an issue where a crash could occur due to invalid video metadata.
- Fixed an issue where a delayed Transcode webhook blocked other streams.
- Fixed a crash that occurred when the Transcode webhook response is returned as an array.
- Fixed an issue where the session was terminated if the DTS was not monotonically increasing during an RTMP Push.
- Fixed an issue where the DTS might not increase monotonically during event insertion via the API.
- Fixed an incorrect frame rate value in HLS/LL-HLS playlists when using SkipFrames.
- Fixed OVT to correctly synchronize the
publicName,maxWidth, andmaxHeightproperties of media tracks. - Fixed an issue where streams in the SRT Publisher might not be properly cleaned up.
- Fixed incorrect information display for tracks with reused encoders.
- Fixed an issue where OVT streams could miss network events.
- Fixed an issue where FairPlay playback could fail on iOS.
- Fixed an issue where restart requests failed for applications dynamically created via the API.
- Fixed an issue where the OVT Publisher's stream might not terminate completely when using OriginMapStore.
- Fixed an issue in LLHLS OriginMode where HTTP requests received immediately upon stream start could be missed.
- Fixed an issue where the AdmissionWebhooks opening event could be triggered twice when using E-RTMP.
- Fixed a default path issue in recording when FilePath is not specified.
- Fixed a recording failure caused by unsupported codecs.
- Fixed an issue where the closing event might not be delivered when using AdmissionWebhooks in certain environments.
- Fixed an issue where video encoded with an NVIDIA GPU became corrupted when the input resolution changed dynamically in WebRTC.
- Fixed an issue where the closing event was not delivered to AdmissionWebhooks when an ICE timeout occurred during WHIP streaming.
- Fixed an issue where
real_ip(X-REAL-IP or X-FORWARDED-FOR) might not be delivered to AdmissionWebhooks during WHIP streaming in environments using an HTTP proxy. - Fixed an issue where VP8 simulcast did not work correctly.
- Fixed an issue where the OVT Publisher attempted to register an RTSP URL again in Redis when it was already pulled from OriginMapStore.
- Fixed an intermittent crash when streams were rapidly created and deleted.
- Fixed an issue where SRT connections could fail under certain conditions.
- Fixed an issue where
avgThroughputInandavgThroughputOutin GETv1/stats/current/could be overestimated. - Fixed LLHLS so that at least one audio track is always configured with
DEFAULT=YESandAUTOSELECT=YES. - Fixed a potential crash when an AAC track with a corrupted audio sample rate (0) is received.
- Fixed an intermittent crash that occurred during simultaneous start/stop recording API requests.
- Fixed a memory leak on stream deletion when DelayBufferTimeMs was configured.
- Fixed a crash when the input stream ends during repeated push connection failures.