refined-caravan-84858
09/18/2025, 1:20 AMtall-airline-16756
09/18/2025, 1:20 AMtall-airline-16756
09/18/2025, 1:21 AMfile_results or segment_results fields.
• Streaming outputs: URLs available in the stream_results field.
• Image snapshots: Metadata located in the image_results field.
You can call this API directly or use SDKs like Node.js, Python, and others to make it easier. If you'd like, I’m here to help with more guidance or examples—just let me know!
Sources: Egress & Media Processing | livekit/livekit_composite | DeepWiki | app/api/record/stop/route.ts | livekit/livekit_egress.twirp.go | packages/livekit-server-sdk/src/EgressClient.ts | livekit-protocol/livekit/protocol/egress.pyirefined-caravan-84858
09/18/2025, 1:24 AMtall-airline-16756
09/18/2025, 1:25 AMimport { EgressClient } from 'livekit-server-sdk';
const egressClient = new EgressClient(
<LIVEKIT_SERVER_URL>, // Replace with your LiveKit server URL
<API_KEY>, // Replace with your API key
<API_SECRET> // Replace with your API secret
);
// List all egresses for a specific room
const egressInfos = await egressClient.listEgress({ roomName: 'my-room' });
for (const info of egressInfos) {
if (info.status === 'EGRESS_COMPLETE') {
// Check file output
if (info.file_results?.length) {
console.log('File URL:', info.file_results[0].location);
}
// Check HLS output
if (info.segment_results?.length) {
console.log('HLS playlist URL:', info.segment_results[0].playlist_location);
}
// Check streaming output
if (info.stream_results?.length) {
console.log('Stream URL:', info.stream_results[0].url);
}
}
}
Just be sure to replace <LIVEKIT_SERVER_URL>, <API_KEY>, and <API_SECRET> with your actual LiveKit server details and credentials. This script will help you list all egress sessions for a specific room and fetch the URLs for any recordings that have completed.
If you have any questions or need a hand with anything else, please don't hesitate to ask. I'm here to help!refined-caravan-84858
09/18/2025, 1:26 AMtall-airline-16756
09/18/2025, 1:26 AM