Skip to content

Releases: livekit/egress

v1.7.2

05 Jun 18:23

Choose a tag to compare

Added

  • AwaitStartSignal option for web egress (if true, it will not start until your website logs START_RECORDING)

Fixed

  • New jitter buffer to help with track/track composite latency issues
  • Updated track synchronizers to help with a/v sync issues
  • Track websocket egress will send pings to keep websocket connection alive
  • An instance will not schedule above 80% CPU (maxing out CPU causes issues)
  • An instance will now accept a request if it's idle and requirement == total CPUs (for example, room_composite_cost = 4 and your pods have 4 CPU)

Changed

  • Redacted stream keys in logs will show the starting and ending characters so they can be identified

v1.7.0

27 Apr 00:38
ffbadc5

Choose a tag to compare

Fixed

  • State management bugs (#292, #333)
  • Service stops replying for existing egress on shutdown (#297)
  • Server panics (#301, #320, #348)
  • Track sync/timestamping issues (#305, #313)
  • Cost config not respected (#346)

Updated

  • Templates use livekit-components (#323, #350)
  • Better input validation (#322, #328)

v1.6.0

09 Mar 22:59
cc6103a

Choose a tag to compare

Added

  • Multiple outputs enabled (max one of each type) - for example, you can stream to multiple providers and store an mp4 all with one egress (currently only available by using twirp directly, sdk updates coming soon)
  • Added timestamp suffix option with segmented file output, to match Agora's TS filename conventions

Fixed

  • VP8 resolution change issue with track egress (Caps changes not supported by Mastroska error)
  • Updated GStreamer to v1.22.0 for improved stability
  • New internal communication system (PSRPC) with improved reliability - can be turned on by setting UsePSRPC to true in LiveKit Server config
  • Various A/V sync and reliability improvements

Changed

  • Google cloud storage config Credentials now takes a string instead of bytes to match the egress config

Version 1.5.3

16 Dec 20:46
3ef123e

Choose a tag to compare

Changelog

Fixed

  • Config refactoring #173 & #174
  • Fix track websocket test #176
  • Better S3 credentials handling and validation #177
  • Fix issue where egress in state STARTING or ACTIVE would never change to COMPLETED
  • Do not log failures due to misconfigured egress requests with "error" severity #183
  • Update logging library #185
  • Redact upload secrets before sending status events #186
  • Fix failure to unload pulseaudio plugin causing eventual pulseaudio failure.

Added

  • Add process manager object to start and manage handler processes #175
  • Shutdown service if we hit a fatal error, such as pulseaudio failing #181
  • Log Chrome errors #182

v1.5.2

19 Nov 03:43
c6fa2ff

Choose a tag to compare

Changelog

Fixed

  • support for running on linux systems with no cgroup support #169
  • CPU usage ratio reporting when a cgroup CPU quota is set #169
  • H264 subscription support with web composite exports on arm64 #171

v1.5.1: Update protocol and Go sdk. Increase version to 1.5.1 (#167)

09 Nov 21:38
ffced48

Choose a tag to compare

Changelog

Fixed

  • support for older linux kernels with cgroup v1 #155
  • default HLS segment and playlist filename #166
  • S3 upload metadata #156
  • fix for disabling storing manifest #159
  • interaction with Digital Ocean S3 Implementation #162

Added

  • support for Aliyun OSS storage backend #152
  • support for web egress #155

v1.4.0

12 Sep 23:37

Choose a tag to compare

Fixed

  • Choppy audio when streaming to Youtube (#107)
  • Added support for CJK unicode characters in templates (#98)
  • Allow query parameters in custom template base (#99)

Changed

  • Upgraded Gstreamer from 1.18.5 to 1.20.3 (#102)
  • Upgraded default layouts (#100)

v1.3.0

31 Aug 23:06

Choose a tag to compare

Fixed

  • Rare freezing and/or segmentation faults, primarily with track composite (#92) (#93) (#94)

Changed

  • Egress stopped due to session limit now returns LIMIT_REACHED status instead of FAILED (#90)
  • Track egress for vp8 tracks will output a .webm file instead of .ivf (#96)

v1.2.0

18 Aug 06:21
5aff35c

Choose a tag to compare

Added

  • Support for session timeouts (#76)
  • Redis sentinel support (#71)

Fixed

  • File upload not running with track egress (#70)
  • Bug where StopEgress RPCs return "no response" for track and track composite egress (#71)
  • Failure when track is not immediately available with track and track composite egress (#72)
  • Test suite reliability, along with testing cloud uploads (#71)

v1.1.0

04 Aug 06:41
f386cfa

Choose a tag to compare

Added

  • HLS segmented file output (#38 #41 #42 #68)
  • Configurable CPU costs for accepting requests (#47)
  • Redis TLS (#54)
  • Configurable temp dir for file writes (#55)
  • EgressInfo contains RoomName (#64)

Fixed

  • Redis channel full error with long running and/or frequent egress (#33)
  • Negative duration on aborted egress (#36)
  • X11 server crash on rtmp output failure (#50)
  • Potential file collisions while writing (#51)
  • Incorrect filename in FileInfo (#66)

Changed

  • Each egress now runs in its own process to avoid potential security holes (#37)
  • Retry file uploads on failure (#39 #56)
  • Improved room composite startup speed (#57)
  • Updated base image to Ubuntu 22.04 (#65)