Releases: livekit/egress
Releases · livekit/egress
Version 1.9.0
Changelog
Added
- Support for backup storage (#792) (#793) (#795) (#825)
- Log per egress memory usage (#821)
- Support for participant egress screen share (#829)
- Use the SDK to handle audio only room composite requests with the default template (#817)
Fixed
- Skip AWS logging on successful upload (#762)
- Reduce duplicate test runs (#763)
- Fix s3logger memory usage (#764)
- Disable SDK Async-connect (#768)
- Faster startup (#769)
- Queue 15 min worth of segments (#770)
- Use config value for max upload queue size (#772)
- Disable-features Translate in headless Chrome (#775)
- Add a back off top laylist upload retries (#779)
- Remove audio with image-only egress (#782)
- Adopt AWS SDK v2 (#783)
- Force CBR for streams output (#785)
- Don't update bucket region with custom endpoints (#786)
- Set a region field when using a custom endpoint (#788)
- Ignore websocket close errors (#790)
- Avoid recording room composite before video is decoded (#806)
- Fix max concurrent web check (#810)
- Use Ubuntu 24.04 base image (#811)
- Move IO timeouts to config (#814)
- Upgrade to pion/webrtc v4 (#818)
- Kill highest memory egress when OOM (#826)
- Udpate livekit JS dependencies and call setRoom in default template (#835)
v1.8.4
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
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
v1.7.9
v1.7.8
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
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
v1.7.2
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
v1.6.0
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