github OvenMediaLabs/OvenMediaEngine v0.20.5

9 hours ago

[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 maxWidth and maxHeight properties to the Track object.
  • Added the Oven-Capabilities HTTP header (max_width=, max_height=) in WHIP.
  • Added ExtraOptions video 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 forwardData option 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_fps option to OvenCapabilities in WHIP and a max_fps field 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, and maxHeight properties 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 avgThroughputIn and avgThroughputOut in GET v1/stats/current/ could be overestimated.
  • Fixed LLHLS so that at least one audio track is always configured with DEFAULT=YES and AUTOSELECT=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.

Don't miss a new OvenMediaEngine release

NewReleases is sending notifications on new releases.