Skip to content

Releases: livekit/egress

v1.8.4

21 May 05:37
95713d5
Compare
Choose a tag to compare

Changed

  • Preset 0 (720p, 30fps) is now the default recording option (#640)

Fixed

  • Zombie processes eventually causing chromium or X to fail (#673)
  • Pipeline getting stuck with Participant composite when a track is unpublished (#635, #644)
  • ImageOutputs broken when used with other outputs (#642)
  • Fixes to jitter buffer and track synchronizer for track/track composite egress (#643, #660)
  • Race on shutdown causing some final updates not to send (#666, #667, #674)

v1.8.2

08 Mar 00:37
84452bb
Compare
Choose a tag to compare

Added

  • Audio-only cpu requirements (#597)
  • is_disabled prometheus metric for terminating nodes (#622)
  • Details field in EgressInfo (#627)

Fixed

  • Race condition with deadlock (#608)
  • Critical gstreamer error with Participant egress (#624, #626, #628)
  • Keyframe intervals for segments and streams (#611, #618)
  • multi output use case with image outputs and local image save path (#614)
  • Force IPv4 with GCP client (#623)
  • Marking aborted egress as failed (#620, #625)

v1.8.0

13 Jan 17:48
Compare
Choose a tag to compare

Requires livekit-server v1.5.1+

Fixed

  • Track/Track composite failures when video track begins muted (#524)
  • Segment upload failures if queue gets backed up (#509)
  • Sync issues (#498, #507)
  • Stream reconnections (#503)

v1.7.9

13 Sep 19:20
Compare
Choose a tag to compare

Fixed

  • Pulse not closing properly eventually causing all room composite and web egress to fail (#486)

v1.7.8

08 Sep 22:39
Compare
Choose a tag to compare

Fixed

  • Improved RTMP retry policy (#444)
  • Pipeline frozen errors (#459)
  • Websocket egress marked as failed after being stopped (#450)
  • Negative waitgroup counter bug with track/track composite egress (#463)

Added

  • Supports decoding vp9 tracks with track/track composite egress (#465)

Changed

  • Chrome sandboxing is now a config option, disabled by default (#481)

v1.7.5

05 Jul 22:12
Compare
Choose a tag to compare

NOTE: as of v1.7.5, chrome sandboxing is enabled for increased security. As a result, the service is no longer run as root
inside docker, and all Egress deployments (even local) require --cap-add=SYS_ADMIN in your docker run command.
Without it, all web and room composite egress will fail with a chrome failed to start error.

Fixed

  • Hang if EndRecording called before StartRecording (#392)
  • Panic on concurrent websocket writes
  • CPU overscheduling (leads to audio loss and other issues) (#396, #403, #406)
  • Hang on gstreamer internal deadlock (#407)

Added

  • Include logs from gstreamer (#398, #401, #411)
  • Save space by deleting local segments once uploaded (#405)

v1.7.2

05 Jun 18:23
Compare
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
Compare
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
Compare
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
Compare
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