abundant-battery-76994
10/03/2025, 7:31 PMbrainy-plastic-79052
10/06/2025, 5:00 AMproud-match-31207
10/07/2025, 5:16 AMDUAL_CHANNEL_AGENT - dual-channel recording doesn’t maintain proper alignment between the two audio tracks.
For example, if the user speaks at t0, the mono recording correctly places the speech at t0. However, in the dual-channel version, the user’s audio is shifted ahead of the agent’s audio. This makes it appear as though the agent is interrupting the user, when in reality the user had already finished speaking before the agent responded.
If so - when is this being released to LiveKit cloud. Would appreciate your helpmodern-finland-7869
10/10/2025, 7:47 AMmagnificent-glass-52894
10/10/2025, 3:58 PMcolossal-airport-19101
10/11/2025, 8:53 AMexport async function POST(req: NextRequest) {
const { event, egressInfo } = await receiver.receive(body, authHeader, true);
if (event === "egress_ended") {
const { metadata } = await GetRoom({ roomname: egressInfo.roomName });
await DeleteRoom({ room_id: egressInfo.roomName });
}
return new NextResponse("ok", { status: 200 });
}
Earlier, getting metadata before deleting the room worked fine. Any suggestions on why this is failing now, or how I can make sure metadata is always available before deletion?freezing-cat-41766
10/13/2025, 3:20 PMmodern-alarm-76237
10/14/2025, 11:46 AMsteep-scientist-53617
10/14/2025, 10:59 PMStartRoomCompositeEgress endpoint, I consistently receive a 200 OK response with body "OK", rather than the expected JSON payload described in the Egress API documentation (e.g., fields like "egressInfo", "egressId", "status", etc.)
Here is the exact command I am running:
curl -X POST \
<https://amae-health-6g1yw48y.livekit.cloud/twirp/livekit.cloud.Egress/StartRoomCompositeEgress> \
-H "Authorization: Bearer $(uv run python -c 'import jwt,os,time; print(jwt.encode({"iss":os.getenv("LIVEKIT_API_KEY"),"sub":os.getenv("LIVEKIT_API_KEY"),"iat":int(time.time()),"exp":int(time.time())+60,"video":{"egress":True}}, os.getenv("LIVEKIT_API_SECRET"), algorithm="HS256"))')" \
-H "Content-Type: application/json" \
-d '{"roomName": "test-room", "audioOnly": true, "fileOutputs": [{}]}'
and the response I just get is:
OK
From the docs, I’d expect a JSON response, even if the room doesn’t exist or the request is invalid (e.g., {"code":5,"msg":"room not found"}).
Can you confirm whether Egress is currently enabled for our project, or if it needs to be provisioned manually on your side?broad-holiday-7009
10/15/2025, 10:03 PMcould not handle new participant and later in the logs in the StartEgress call: `failed to launch track egress``from an error of no response from servers
Looking at the dashboard at these sessions, we have no egress data at all for them.
ERROR livekit service/signal.go:184 could not handle new participant {
"room": "room-2025-10-15-11-13-23_e982e72f-c44e-48cf-b2f3-ed1a3b4ae48b",
"participant": "user-a39a827a-eab0-47b1-b658-098159064cc8",
"connID": "CO_EfJcJaEMezmG",
"error": "no response from servers
}
WARN livekit.psrpc.EgressInternal.StartEgress rpc/logging.go:66 client error {
"topic": [""],
"request": {
"egressId": "EG_weWwkDWQuTGa",
"track": {
"roomName": "room-2025-10-15-11-13-23_e982e72f-c44e-48cf-b2f3-ed1a3b4ae48b",
"trackId": "TR_AMUMmK5cQZzCUe",
"file": {"filepath": "{room_name}/{publisher_identity}+{track_source}+audio_tracks-{track_id}"}},
"roomId": "RM_49DekTT22n83"},
"response": null,
"duration": "22.722132084s",
"error": "no response from servers"}
ERROR livekit.room rtc/room.go:1175 failed to launch track egress {
"room": "room-2025-10-15-11-13-23_e982e72f-c44e-48cf-b2f3-ed1a3b4ae48b",
"roomID": "RM_49DekTT22n83",
"error": "no response from servers"}abundant-activity-82320
10/17/2025, 4:52 PMagreeable-librarian-23707
10/20/2025, 1:16 PMH264_1080P_30 encoding preset without overriding any EncodingOptions (so bitrate = 4500, GOP = 4s if I get it well).
Has anyone else experienced similar quality issues when using SRT output? Should I be tweaking specific encoding parameters for better results?happy-journalist-67175
10/20/2025, 9:19 PMglamorous-tiger-25082
10/23/2025, 8:30 AMaddress: must be the same redis address used by your livekit server . If I am using the livekit cloud for agent deployment, since the cloud is not exposing the redis details, how can I record my room audio using self hosted egressbored-motorcycle-22550
10/23/2025, 2:27 PMegressClient = lksdk.NewEgressClient(host, apiKey, apiSecret) I need to pass extra information to a web hook about the egress instance. Hence, a custom webhook url is needed with a query parameter.
Regarding the SigningKey in the following, what should I include? Is this my LK apiKey ?:
&livekit.RoomCompositeEgressRequest{
RoomName: room,
Layout: "grid",
Webhooks: []*livekit.WebhookConfig{
{
Url: "<https://example.com/webhook?additionalInfo=something>",
SigningKey: _, // What should go here?
},
},
},
On the receiving end, I am using event, err := webhook.ReceiveWebhookEvent(request, authProvider) with my apiKey and apiSecret for the authProvider.glamorous-oil-12326
10/27/2025, 6:05 PMDUAL_CHANNEL_AGENT and DUAL_CHANNEL_ALTERNATE. However, I am not getting a dual channel output, when I re-listen to the recording (I can hear it in both speakers). I should flag, my agent does have background audio - is this causing issues?stale-orange-63834
10/29/2025, 7:46 AMtracks in RoomEgress to get get all tracks. Currently the video tracks are in webm and audio in ogg format. Is there any option to customise it so that audio is mp3 and video is mp4chilly-crowd-70471
10/29/2025, 7:52 AMswift-room-83617
11/02/2025, 9:25 PMstream":{"info":[{"url":"<rtmp://example.url/{1_...up}>", "started_at":"1762113782657219894", "ended_at":"0", "duration":"0", "status":"ACTIVE", "error":""}]}
It updated the stream key to {aa...bb}, is this for security purposes, or is there a way to get the full url?
This is for the api endpoint "/twirp/livekit.Egress/ListEgress";fast-ram-26210
11/03/2025, 7:06 AMlkapi = api.LiveKitAPI(
LIVEKIT_URL,
LIVEKIT_API_KEY,
LIVEKIT_API_SECRET
)
<http://log.info|log.info>("----------------------room coposite start ")
room_composite = api.RoomCompositeEgressRequest(
room_name=room_name,
layout="grid", # Options: "grid" or "speaker"
audio_only=False,
video_only=False,
file_outputs=[
api.EncodedFileOutput(
file_type=api.EncodedFileType.MP4,
filepath=f"recordings/{room_name}-{int(asyncio.get_event_loop().time())}.mp4"
)
]
)
getting this issue TwirpError(code=invalid_argument, message=request has missing or invalid field: output, status=400)big-controller-60015
11/03/2025, 12:50 PMmillions-summer-28140
11/05/2025, 6:04 AMfancy-wire-90172
11/06/2025, 12:58 PMyaml
log_level: info
api_key: LIVE_KIT_API_KEY
api_secret: LIVE_KIT_API_SECRET
ws_url: <wss://video.XYZ.com>
redis:
address: 127.0.0.1:6379
password: REDISPASSWORD
s3:
access_key: ACCESS_KEY
secret: SECRET
region: us-west-2
bucket: BUCKET_NAME
livekit.yaml:
yaml
port: 7880
rtc:
node_ip: “XX.XX.XX.XX.
use_external_ip: true
keys:
LIVEKIT_API_KEY: LIVEKIT_API_SECRET
redis:
address: 127.0.0.1:6379
password: REDIS_PASSWORD
# NOTE: Cannot add cluster_id here - causes crash
Docker Setup:
- Network mode: host
- Volume: /etc/livekit/egress.yaml/etc/egress.yamlro
- Environment: EGRESS_CONFIG_FILE=/etc/egress.yaml
What We've Tried:
1. Added cluster_id to egress.yaml → Still shows "simple": true
2. Added cluster_id to livekit.yaml → Server crashed
3. Changed ws_url to ws://localhost:7880 → Same error
4. Verified all network connectivity → All tests pass
The application code is working perfectly. This is purely an infrastructure/configuration issue.
Any help would be greatly appreciated! 🙏big-summer-57969
11/07/2025, 10:26 AMaudio_mixing , Im trying to use the DUAL_CHANNEL_AGENT , but it does not make a difference.
I read i need to ask for it to be enabled on my account ? 🤔many-cartoon-42984
11/08/2025, 8:51 PMalert-plumber-51439
11/09/2025, 10:35 AMcalm-article-62769
11/11/2025, 5:12 AMaccess_key and secret_key credentials in the S3 configuration.
Our goal is to allow the LiveKit Cloud Egress service to assume a role in our AWS account that has limited permissions such as s3:PutObject and s3:PutObjectAcl, instead of using static credentials.
For example, something like:
s3 = api.S3Upload(
bucket="my-bucket",
region="us-east-1",
assume_role_arn="arn:aws:iam::<account-id>:role/LiveKitEgressRole"
)
…without specifying access_key or secret.
Could you please confirm:
• Does LiveKit Cloud Egress currently support this kind of role-based access (i.e., direct cross-account assume-role)?
• If yes, does LiveKit Cloud provide or support a stable AWS principal (like an account ID or role ARN) that customers can include in their trust or bucket policy?
• Does it support using an External ID when assuming a customer’s role (for cross-account security)?cold-belgium-91163
11/12/2025, 9:00 AMlively-terabyte-73999
11/13/2025, 6:10 AM{
"sipDispatchRuleId": "SDR_U*******",
"rule": {
"dispatchRuleCallee": {
"roomPrefix": "sip-*******",
"randomize": true
}
},
"trunkIds": [
"ST_8Hz******"
],
"name": "Agent Dispatch Rule",
"roomConfig": {
"agents": [
{
"agentName": "agent_01jzw0r9syepa8*********",
"metadata": "{\n\"tenant_id\": \"68cbbe52fe7ff19*******\",\n\"is_sip_flow\": true,\n\"call_type\": \"inbound\",\n\"caller_name\": \"James\"\n}"
}
],
"egress": {
"tracks": {
"fileType": "OGG",
"filepath": "livekit/room/{roomname}/{publisher_identity}/{track_id}-{time}.ogg",
"output": {
"case": "s3",
"value": {
"bucket": "***********",
"region": "************",
"accessKey": "***********",
"secret": "****************"
}
}
}
}
}
}cold-belgium-91163
11/13/2025, 1:45 PM