helpful-author-83080
09/17/2025, 11:29 PMLocalParticipant track to be recorded. The RemoteParticipants tracks get recorded works just fine. The RoomCompositeEgressRequest works fine as well. Anyone know why?
# Start Remote Track Composite Egress
remote_participants = ctx.room.remote_participants.values()
for participant in remote_participants:
for publication in participant.track_publications.values():
await lkapi.egress.start_track_egress(api.TrackEgressRequest(
room_name=room_name,
track_id=publication.track.sid,
file=api.DirectFileOutput(
filepath=f"calls/nebula/{conversation_id}-{publication.track.sid}-user",
disable_manifest=True,
s3=s3_upload,
),
))
``` # Start Local Track Composite Egress
for publication in ctx.room.local_participant.track_publications.values():
await lkapi.egress.start_track_egress(api.TrackEgressRequest(
room_name=room_name,
track_id=publication.track.sid,
file=api.DirectFileOutput(
filepath=f"calls/nebula/{conversation_id}-{publication.track.sid}-agent",
disable_manifest=True,
s3=s3_upload,
),
))```tall-airline-16756
09/17/2025, 11:29 PMtall-airline-16756
09/17/2025, 11:29 PMLocalParticipant tracks aren't being recorded while RemoteParticipant tracks are working just fine. Let’s walk through some common reasons this might happen and see if we can pinpoint the issue together:
• Permissions: It’s important to make sure that the LocalParticipant has the right permissions to publish their tracks. If permissions like canPublish or canPublishSources aren’t set up correctly, the tracks might not get published to the server.
• Track Publishing Failures: Sometimes, tracks don’t get published due to issues like device capture failure or encoding problems. It’s worth checking if the tracks are actually being published successfully.
• Subscription Settings: Another thing to verify is whether the Egress participant is subscribed to the `LocalParticipant`’s tracks. If the subscription is only for remote tracks, then local tracks won’t be recorded.
• Client-Side Filtering: Some apps filter out local tracks just for visualization, but this usually doesn’t affect server-side recording. It’s good to double-check if this might be influencing your setup.
To move forward, I’d suggest reviewing your server logs, confirming the Egress subscription settings, and making sure all the necessary permissions are in place. If you’d like, I’m here to help you through any of these steps—just let me know!
Sources: src/room/participant/LocalParticipant.ts | livekit-android-sdk/src/main/java/io/livekit/android/events/ParticipantEven... | Rooms, participants, and tracks | LiveKit Docs | Video Conferencing Applications | livekit/livekit_composite | DeepWiki | SIP Integration | livekit/livekit_composite | DeepWiki