how do I record calls without using egress?
# ask-ai
m
how do I record calls without using egress?
t
Thanks for reaching out, Anas. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
I'm happy to help you with recording calls in LiveKit! To do this, you'll want to use the Egress feature, which is our go-to method for capturing and exporting session data like audio, video, or text transcripts. Egress is quite versatile—it supports different types of recordings including room composites, participant egress, and individual track egress. If you have a particular use case in mind or if anything feels unclear, please don’t hesitate to reach out. I’m here to support you every step of the way! Sources: Session recording and transcripts | LiveKit Docs | Recording and composition | LiveKit Docs | Track egress | LiveKit Docs | README.md
m
is there a way to pull audio tracks in-call without using egress
t
Thanks for reaching out! To better assist you, could you please share a bit more about what you need when pulling audio tracks in-call? For instance, are you hoping to process the audio in real-time, stream it to another service, or maybe something else? Understanding this will really help me find the best possible options for you.
m
I wanna be able to store the recording on my side without going through livekit's egress
t
I'm glad you're exploring ways to store audio recordings locally without using LiveKit's Egress! You can definitely achieve this by leveraging client SDKs to capture and save audio right on the client side. Here are some friendly options to consider: • Swift/iOS SDK: You can use the
LocalAudioTrackRecorder
class to capture audio from a local track and save it as raw data (like PCM). • Python SDK: Feel free to check out the local-audio-python example—you can modify it to save audio data locally using handy libraries like
wave
or
pydub
. • Android SDK: The
VideoFileRenderer
is a great choice to record audio and save it as an MP4 file. • Rust SDK: You might find the
save_to_disk
example useful for capturing and saving audio tracks as WAV files. • Web/JS SDK: Using the
LocalTrackRecorder
class together with the browser's
MediaRecorder
API allows you to record and save audio locally with ease. Each of these methods offers a way to record and store audio locally without depending on LiveKit's Egress service. If you'd like, I'm here to help with more details on any specific SDK or how to implement these—just let me know! Sources: Tests/LiveKitTests/Audio/AudioManagerTests.swift | livekit-agents/livekit/agents/voice/recorder_io/recorder_io.py | sample-app-record-local/src/main/java/io/livekit/android/sample/record/Main... | examples/save_to_disk/src/main.rs | src/room/track/record.ts