How to send both audio and video with a livekitwebrtcsink element

Hi,

I’m trying to use the livekitwebrtcsink in a python app to send both audio (from a mic) and video (multiple sources combined into one stream with a compositor) to a LiveKit room using gsreamer 1.24.2 and rswebrtc 0.14.0-alpha.1-7e2a4cf6 release date 2025-02-03.

I have no problems publishing video only. Any help on how to get audio+video publishing working would be much appreciated!

The pipelines can be simplified as following:

# Terminal 1 - Audio source
gst-launch-1.0 autoaudiosrc \
! queue ! audioconvert ! audioresample \
! unixfdsink socket-path=/tmp/audio-device
# Terminal 2 - Video source
gst-launch-1.0 v4l2src device=/dev/video0 \
! jpegdec ! video/x-raw,width=1280,height=720,framerate=30/1 \
! timeoverlay ! videoconvert ! queue \
! unixfdsink socket-path=/tmp/v4l2-device
# Terminal 3 - Publish stream
gst-launch-1.0 unixfdsrc socket-path=/tmp/v4l2-device \
! videoconvert ! queue \
! livekitwebrtcsink name=livekit-sink \
  signaller::ws-url=ws://127.0.0.1:7880 \
  signaller::api-key=devkey \
  signaller::secret-key=secret \
  signaller::room-name=testroom \
  signaller::identity=gst-producer \
  signaller::participant-name=gst-producer \
  video-caps='video/x-vp8' 
  unixfdsrc socket-path=/tmp/audio-device ! queue \
! livekit-sink.audio_0
# Terminal 4 - Watch the stream
gst-launch-1.0 livekitwebrtcsrc name=livekit-src \
  signaller::ws-url=ws://127.0.0.1:7880 \
  signaller::api-key=devkey \
  signaller::secret-key=secret \
  signaller::room-name=testroom \
  signaller::identity=gst-consumer \
  signaller::participant-name=gst-consumer \
! queue ! videoconvert ! autovideosink \
livekit-src.audio_0 ! queue ! audioconvert ! autoaudiosink

This fails with the following error in terminal 3:

Setter rørledning til PAUSE
Rørledningen er live og trenger ikke forberedelse
Rørledning er forberedt …
Setter rørledning til SPILLER …
New clock: GstSystemClock
Redistribuer ventetid …
Redistribuer ventetid …
FEIL: fra element /GstPipeline:pipeline0/GstLiveKitWebRTCSink:livekit-sink: GStreamer har møtt en generelt strømmefeil.
Tilleggsinformasjon for feilsøking:
net/webrtc/src/webrtcsink/imp.rs(2288): gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::connect_signaller::{{closure}}::{{closure}} (): /GstPipeline:pipeline0/GstLiveKitWebRTCSink:livekit-sink:
Signalling error: Error: Server disconnected
Execution ended after 0:00:15.419322626
Setter rørledning til NULL …
Frigjør rør …

…and the following error in terminal 4:

Setter rørledning til PAUSE
Rørledningen er live og trenger ikke forberedelse
Rørledning er forberedt …
Setter rørledning til SPILLER …
New clock: GstSystemClock
Redistribuer ventetid …
Redistribuer ventetid …
Redistribuer ventetid …
Redistribuer ventetid …
Redistribuer ventetid …
Redistribuer ventetid …
Fikk sammenheng fra element «nvvp8dec0»: gst.cuda.context=context, gst.cuda.context=(GstCudaContext)“(GstCudaContext)\ cudacontext1”, cuda-device-id=(uint)0;
Redistribuer ventetid …
FEIL: fra element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: Output window was closed
Tilleggsinformasjon for feilsøking:
../sys/xvimage/xvimagesink.c(586): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage
Execution ended after 0:00:26.802886831
Setter rørledning til NULL …
Frigjør rør …

And here are the logs from running livekit-server --dev:

Console messages
2025-04-12T13:44:10.772+0200	INFO	livekit	server/main.go:208	starting in development mode
2025-04-12T13:44:10.772+0200	INFO	livekit	server/main.go:211	no keys provided, using placeholder keys	{"API Key": "devkey", "API Secret": "secret"}
2025-04-12T13:44:10.773+0200	INFO	livekit	routing/interfaces.go:173	using single-node routing
2025-04-12T13:44:10.823+0200	INFO	livekit	service/server.go:258	starting LiveKit server	{"portHttp": 7880, "nodeID": "ND_aLH3ydAecT5e", "nodeIP": "192.168.0.77", "version": "1.8.3", "bindAddresses": ["127.0.0.1", "::1"], "rtc.portTCP": 7881, "rtc.portUDP": {"Start":7882,"End":0}}
2025-04-12T13:44:10.823+0200	DEBUG	livekit	service/signal.go:118	starting relay signal server	{"topic": "ND_aLH3ydAecT5e"}
2025-04-12T13:44:36.430+0200	DEBUG	livekit	routing/signal.go:98	starting signal connection	{"room": "testroom", "reqNodeID": "ND_aLH3ydAecT5e", "participant": "gst-producer", "connID": "CO_9MJCWFzrdPqo"}
2025-04-12T13:44:36.433+0200	INFO	livekit	service/roommanager.go:405	starting RTC session	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "room": "testroom", "nodeID": "ND_aLH3ydAecT5e", "numParticipants": 0, "participantInit": {"Identity": "gst-producer", "Reconnect": false, "ReconnectReason": "RR_UNKNOWN", "AutoSubscribe": false, "Client": {"sdk": "RUST", "protocol": 9}, "Grants": {"Identity": "", "Kind": "", "Video": {"RoomCreate": false, "RoomList": false, "RoomRecord": false, "RoomAdmin": false, "RoomJoin": true, "Room": "testroom", "CanPublish": true, "CanSubscribe": false, "CanPublishData": true, "CanPublishSources": [], "CanUpdateOwnMetadata": false, "IngressAdmin": false, "Hidden": false, "Recorder": false, "Agent": false, "CanSubscribeMetrics": "not-set"}, "SIP": {}, "RoomConfig": {}, "RoomPreset": ""}, "Region": "", "AdaptiveStream": false, "ID": "", "SubscriberAllowPause": "not-set", "DisableICELite": false, "CreateRoom": {"name": "testroom"}}}
2025-04-12T13:44:36.434+0200	DEBUG	livekit.room	rtc/room.go:518	new participant joined	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "pID": "PA_Lb4qDnwN7k7b", "participant": "gst-producer", "clientInfo": {"sdk": "RUST", "protocol": 9, "address": "127.0.0.1"}, "options": {"AutoSubscribe":false}, "numParticipants": 0}
2025-04-12T13:44:36.434+0200	DEBUG	livekit	rtc/participant.go:1682	updating participant state	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "state": "JOINED"}
2025-04-12T13:44:36.434+0200	DEBUG	livekit	rtc/participant.go:1202	SetMigrateState	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "state": "MIGRATE_STATE_COMPLETE"}
2025-04-12T13:44:36.435+0200	DEBUG	livekit	service/rtcservice.go:313	new client WS connected	{"participant": "gst-producer", "pID": "", "room": "testroom", "remote": false, "connID": "CO_9MJCWFzrdPqo", "reconnect": false, "reconnectReason": "RR_UNKNOWN", "adaptiveStream": false, "selectedNodeID": "ND_aLH3ydAecT5e", "nodeSelectionReason": ""}
2025-04-12T13:44:37.122+0200	DEBUG	livekit	rtc/signalhandler.go:43	add track request	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "trackID": "webrtctransceiver0"}
2025-04-12T13:44:37.122+0200	DEBUG	livekit.pub	rtc/participant.go:2281	pending track added	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "trackID": "TR_VCgJn9sgz84Q4K", "track": {"sid": "TR_VCgJn9sgz84Q4K", "type": "VIDEO", "name": "video0", "disableDtx": true, "source": "CAMERA", "layers": [{"quality": "HIGH"}], "codecs": [{"cid": "webrtctransceiver0", "layers": [{"quality": "HIGH"}]}], "disableRed": true, "encryption": "NONE", "stream": "camera", "audioFeatures": ["TF_NO_DTX"]}, "request": {"cid": "webrtctransceiver0", "name": "video0", "type": "VIDEO", "disableDtx": true, "source": "CAMERA", "layers": [{"quality": "HIGH"}], "disableRed": true, "encryption": "NONE"}}
2025-04-12T13:44:37.122+0200	DEBUG	livekit.pub	rtc/participant.go:2303	sending track published	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "cid": "webrtctransceiver0", "trackInfo": {"sid": "TR_VCgJn9sgz84Q4K", "type": "VIDEO", "name": "video0", "disableDtx": true, "source": "CAMERA", "layers": [{"quality": "HIGH"}], "codecs": [{"cid": "webrtctransceiver0", "layers": [{"quality": "HIGH"}]}], "disableRed": true, "encryption": "NONE", "stream": "camera", "audioFeatures": ["TF_NO_DTX"]}}
2025-04-12T13:44:37.122+0200	DEBUG	livekit	rtc/signalhandler.go:43	add track request	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "trackID": "webrtctransceiver1"}
2025-04-12T13:44:37.122+0200	DEBUG	livekit.pub	rtc/participant.go:2281	pending track added	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "trackID": "TR_AM2gCBggBTmRB5", "track": {"sid": "TR_AM2gCBggBTmRB5", "type": "AUDIO", "name": "audio1", "disableDtx": true, "source": "MICROPHONE", "disableRed": true, "encryption": "NONE", "stream": "camera", "audioFeatures": ["TF_NO_DTX"]}, "request": {"cid": "webrtctransceiver1", "name": "audio1", "type": "AUDIO", "disableDtx": true, "source": "MICROPHONE", "disableRed": true, "encryption": "NONE"}}
2025-04-12T13:44:37.122+0200	DEBUG	livekit.pub	rtc/participant.go:2303	sending track published	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "cid": "webrtctransceiver1", "trackInfo": {"sid": "TR_AM2gCBggBTmRB5", "type": "AUDIO", "name": "audio1", "disableDtx": true, "source": "MICROPHONE", "disableRed": true, "encryption": "NONE", "stream": "camera", "audioFeatures": ["TF_NO_DTX"]}}
2025-04-12T13:44:37.123+0200	DEBUG	livekit	service/rtcservice.go:418	received offer	{"participant": "gst-producer", "pID": "", "room": "testroom", "remote": false, "offer": {"Offer":{"type":"offer","sdp":"v=0\r\no=- 1630191544091680032 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\na=group:BUNDLE video0 audio1 application2\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 98 99 100 101\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:jM4thLBiVn4kZjZGT7feF1SbmCttXjcy\r\na=ice-pwd:qBreke9iriZUDwHO6U/IgsqCf5e0frb1\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendonly\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 transport-cc\r\na=extmap:1 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=rtpmap:98 red/90000\r\na=rtpmap:99 ulpfec/90000\r\na=rtpmap:100 rtx/90000\r\na=fmtp:100 apt=96\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=98\r\na=ssrc-group:FID 1625080349 1358376488\r\na=ssrc:1625080349 msid:user1961773409@host-5f7e1e2a webrtctransceiver0\r\na=ssrc:1625080349 cname:user1961773409@host-5f7e1e2a\r\na=ssrc:1358376488 msid:user1961773409@host-5f7e1e2a webrtctransceiver0\r\na=ssrc:1358376488 cname:user1961773409@host-5f7e1e2a\r\na=mid:video0\r\na=fingerprint:sha-256 78:5B:7B:61:93:E7:0E:96:C7:E1:44:53:2C:15:CE:9F:C9:D5:6C:56:93:93:0A:97:51:21:12:17:62:DE:C4:21\r\na=rtcp-mux-only\r\nm=audio 0 UDP/TLS/RTP/SAVPF 97\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:jM4thLBiVn4kZjZGT7feF1SbmCttXjcy\r\na=ice-pwd:qBreke9iriZUDwHO6U/IgsqCf5e0frb1\r\na=bundle-only\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendonly\r\na=rtpmap:97 OPUS/48000/2\r\na=rtcp-fb:97 transport-cc\r\na=extmap:1 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=fmtp:97 sprop-stereo=1;sprop-maxcapturerate=48000\r\na=ssrc:538940677 msid:user1961773409@host-5f7e1e2a webrtctransceiver1\r\na=ssrc:538940677 cname:user1961773409@host-5f7e1e2a\r\na=mid:audio1\r\na=fingerprint:sha-256 78:5B:7B:61:93:E7:0E:96:C7:E1:44:53:2C:15:CE:9F:C9:D5:6C:56:93:93:0A:97:51:21:12:17:62:DE:C4:21\r\na=rtcp-mux-only\r\nm=application 0 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:jM4thLBiVn4kZjZGT7feF1SbmCttXjcy\r\na=ice-pwd:qBreke9iriZUDwHO6U/IgsqCf5e0frb1\r\na=bundle-only\r\na=mid:application2\r\na=sctp-port:5000\r\na=fingerprint:sha-256 78:5B:7B:61:93:E7:0E:96:C7:E1:44:53:2C:15:CE:9F:C9:D5:6C:56:93:93:0A:97:51:21:12:17:62:DE:C4:21\r\n"}}}
2025-04-12T13:44:37.123+0200	DEBUG	livekit.pub	rtc/participant.go:871	received offer	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "offer": {"type":"offer","sdp":"v=0\r\no=- 1630191544091680032 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\na=group:BUNDLE video0 audio1 application2\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 98 99 100 101\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:jM4thLBiVn4kZjZGT7feF1SbmCttXjcy\r\na=ice-pwd:qBreke9iriZUDwHO6U/IgsqCf5e0frb1\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendonly\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 transport-cc\r\na=extmap:1 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=rtpmap:98 red/90000\r\na=rtpmap:99 ulpfec/90000\r\na=rtpmap:100 rtx/90000\r\na=fmtp:100 apt=96\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=98\r\na=ssrc-group:FID 1625080349 1358376488\r\na=ssrc:1625080349 msid:user1961773409@host-5f7e1e2a webrtctransceiver0\r\na=ssrc:1625080349 cname:user1961773409@host-5f7e1e2a\r\na=ssrc:1358376488 msid:user1961773409@host-5f7e1e2a webrtctransceiver0\r\na=ssrc:1358376488 cname:user1961773409@host-5f7e1e2a\r\na=mid:video0\r\na=fingerprint:sha-256 78:5B:7B:61:93:E7:0E:96:C7:E1:44:53:2C:15:CE:9F:C9:D5:6C:56:93:93:0A:97:51:21:12:17:62:DE:C4:21\r\na=rtcp-mux-only\r\nm=audio 0 UDP/TLS/RTP/SAVPF 97\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:jM4thLBiVn4kZjZGT7feF1SbmCttXjcy\r\na=ice-pwd:qBreke9iriZUDwHO6U/IgsqCf5e0frb1\r\na=bundle-only\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendonly\r\na=rtpmap:97 OPUS/48000/2\r\na=rtcp-fb:97 transport-cc\r\na=extmap:1 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=fmtp:97 sprop-stereo=1;sprop-maxcapturerate=48000\r\na=ssrc:538940677 msid:user1961773409@host-5f7e1e2a webrtctransceiver1\r\na=ssrc:538940677 cname:user1961773409@host-5f7e1e2a\r\na=mid:audio1\r\na=fingerprint:sha-256 78:5B:7B:61:93:E7:0E:96:C7:E1:44:53:2C:15:CE:9F:C9:D5:6C:56:93:93:0A:97:51:21:12:17:62:DE:C4:21\r\na=rtcp-mux-only\r\nm=application 0 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:jM4thLBiVn4kZjZGT7feF1SbmCttXjcy\r\na=ice-pwd:qBreke9iriZUDwHO6U/IgsqCf5e0frb1\r\na=bundle-only\r\na=mid:application2\r\na=sctp-port:5000\r\na=fingerprint:sha-256 78:5B:7B:61:93:E7:0E:96:C7:E1:44:53:2C:15:CE:9F:C9:D5:6C:56:93:93:0A:97:51:21:12:17:62:DE:C4:21\r\n"}}
2025-04-12T13:44:37.123+0200	DEBUG	livekit.transport	rtc/transport.go:1963	rtx pairs found from sdp	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "ssrcs": {"1358376488":1625080349}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:706	ice connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "checking"}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:717	peer connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "connecting"}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:675	ice gathering state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "gathering"}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.pub	rtc/participant.go:898	sending answer	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "answer": {"type":"answer","sdp":"v=0\r\no=- 5855438245887868179 1744458277 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=msid-semantic:WMS*\r\na=fingerprint:sha-256 84:4C:40:B4:F3:D1:85:DE:CF:C4:37:FC:09:10:C2:5B:E2:94:79:19:1E:55:7A:2C:56:FC:EF:93:0A:30:E1:1E\r\na=group:BUNDLE video0 audio1 application2\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 100\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:video0\r\na=ice-ufrag:DjRkzkDrXRtXxCMg\r\na=ice-pwd:ilJezBzPdOCXOpqzUhRlUssqzTbJMeIP\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 nack \r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 transport-cc \r\na=rtpmap:100 rtx/90000\r\na=fmtp:100 apt=96\r\na=extmap:1 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=recvonly\r\nm=audio 9 UDP/TLS/RTP/SAVPF 97\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:audio1\r\na=ice-ufrag:DjRkzkDrXRtXxCMg\r\na=ice-pwd:ilJezBzPdOCXOpqzUhRlUssqzTbJMeIP\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:97 OPUS/48000/2\r\na=fmtp:97 sprop-stereo=1;sprop-maxcapturerate=48000\r\na=recvonly\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:application2\r\na=sendrecv\r\na=sctp-port:5000\r\na=ice-ufrag:DjRkzkDrXRtXxCMg\r\na=ice-pwd:ilJezBzPdOCXOpqzUhRlUssqzTbJMeIP\r\n"}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit	service/rtcservice.go:357	sending answer	{"participant": "gst-producer", "pID": "", "room": "testroom", "remote": false, "answer": {"Answer":{"type":"answer","sdp":"v=0\r\no=- 5855438245887868179 1744458277 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=msid-semantic:WMS*\r\na=fingerprint:sha-256 84:4C:40:B4:F3:D1:85:DE:CF:C4:37:FC:09:10:C2:5B:E2:94:79:19:1E:55:7A:2C:56:FC:EF:93:0A:30:E1:1E\r\na=group:BUNDLE video0 audio1 application2\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 100\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:video0\r\na=ice-ufrag:DjRkzkDrXRtXxCMg\r\na=ice-pwd:ilJezBzPdOCXOpqzUhRlUssqzTbJMeIP\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 nack \r\na=rtcp-fb:96 nack pli\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 transport-cc \r\na=rtpmap:100 rtx/90000\r\na=fmtp:100 apt=96\r\na=extmap:1 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=recvonly\r\nm=audio 9 UDP/TLS/RTP/SAVPF 97\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:audio1\r\na=ice-ufrag:DjRkzkDrXRtXxCMg\r\na=ice-pwd:ilJezBzPdOCXOpqzUhRlUssqzTbJMeIP\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:97 OPUS/48000/2\r\na=fmtp:97 sprop-stereo=1;sprop-maxcapturerate=48000\r\na=recvonly\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=setup:active\r\na=mid:application2\r\na=sendrecv\r\na=sctp-port:5000\r\na=ice-ufrag:DjRkzkDrXRtXxCMg\r\na=ice-pwd:ilJezBzPdOCXOpqzUhRlUssqzTbJMeIP\r\n"}}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:873408561 1 udp 2130706431 192.168.0.77 7882 typ host\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:3670840885 1 udp 2130706431 fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33 7882 typ host\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:3469935898 1 udp 2130706431 fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731 7882 typ host\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:2315016657 1 tcp 1671430143 192.168.0.77 7881 typ host tcptype passive\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:1732241365 1 tcp 1671430143 fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33 7881 typ host tcptype passive\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:1 1 UDP 2015363327 192.168.0.77 60657 typ host","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:2 1 TCP 1015021823 192.168.0.77 9 typ host tcptype active","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:3 1 TCP 1010827519 192.168.0.77 46247 typ host tcptype passive","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:4 1 UDP 2015363583 fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33 57430 typ host","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:5 1 TCP 1015022079 fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33 9 typ host tcptype active","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:6 1 TCP 1010827775 fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33 43037 typ host tcptype passive","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:7 1 UDP 2015363839 fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731 57290 typ host","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.124+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:8 1 TCP 1015022335 fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731 9 typ host tcptype active","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.125+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:9 1 TCP 1010828031 fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731 47827 typ host tcptype passive","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.125+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:10 1 UDP 2015364095 fe80::1268:38ff:fe5c:8731 42010 typ host","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.125+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:11 1 TCP 1015022591 fe80::1268:38ff:fe5c:8731 9 typ host tcptype active","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.125+0200	DEBUG	livekit.transport	rtc/transport.go:1617	added ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "candidate": {"candidate":"candidate:12 1 TCP 1010828287 fe80::1268:38ff:fe5c:8731 54965 typ host tcptype passive","sdpMid":"","sdpMLineIndex":0,"usernameFragment":null}}
2025-04-12T13:44:37.162+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:1931506938 1 tcp 1671430143 fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731 7881 typ host tcptype passive\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.189+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:3562576477 1 udp 1694498815 193.69.227.251 55260 typ srflx raddr 0.0.0.0 rport 55260\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.238+0200	DEBUG	livekit.transport	rtc/transport.go:675	ice gathering state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "complete"}
2025-04-12T13:44:37.238+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:3562576477 1 udp 1694498815 193.69.227.251 36266 typ srflx raddr 0.0.0.0 rport 36266\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER"}}
2025-04-12T13:44:37.239+0200	DEBUG	livekit	rtc/participant_signal.go:278	sending ICE candidate	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "trickle": {"candidateInit": "{\"candidate\":\"candidate:3562576477 1 udp 1694498815 193.69.227.251 45952 typ srflx raddr 0.0.0.0 rport 45952\",\"sdpMid\":\"\",\"sdpMLineIndex\":0,\"usernameFragment\":null}", "target": "PUBLISHER", "final": true}}
2025-04-12T13:44:52.292+0200	DEBUG	livekit.transport	rtc/transport.go:706	ice connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "failed"}
2025-04-12T13:44:52.292+0200	DEBUG	livekit.transport	rtc/transport.go:717	peer connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "failed"}
2025-04-12T13:44:52.292+0200	DEBUG	livekit	rtc/participant_signal.go:350	closing signal connection	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "reason": "TRANSPORT_FAILURE", "connID": "CO_9MJCWFzrdPqo"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit	service/signal.go:171	signal stream closed	{"room": "testroom", "participant": "gst-producer", "connID": "CO_9MJCWFzrdPqo", "error": "stream closed"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit.transport	rtc/transportmanager.go:807	signal source valid	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "valid": false}
2025-04-12T13:44:52.293+0200	DEBUG	livekit	routing/signal.go:134	signal stream closed	{"room": "testroom", "reqNodeID": "ND_aLH3ydAecT5e", "participant": "gst-producer", "connID": "CO_9MJCWFzrdPqo", "error": null}
2025-04-12T13:44:52.293+0200	INFO	livekit	rtc/participant.go:1033	participant closing	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "sendLeave": false, "reason": "SIGNAL_SOURCE_CLOSE", "isExpectedToResume": false}
2025-04-12T13:44:52.293+0200	DEBUG	livekit	service/rtcservice.go:342	nothing to read from response source	{"participant": "gst-producer", "pID": "", "room": "testroom", "remote": false, "connID": "CO_9MJCWFzrdPqo"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit	rtc/participant.go:1682	updating participant state	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "state": "DISCONNECTED"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit	service/roommanager.go:679	RTC session finishing	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "connID": "CO_9MJCWFzrdPqo"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit	service/rtcservice.go:276	finishing WS connection	{"participant": "gst-producer", "pID": "", "room": "testroom", "remote": false, "connID": "CO_9MJCWFzrdPqo", "closedByClient": true}
2025-04-12T13:44:52.293+0200	DEBUG	livekit.transport	rtc/transport.go:717	peer connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "closed"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit.transport	rtc/transport.go:706	ice connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "PUBLISHER", "state": "closed"}
2025-04-12T13:44:52.293+0200	DEBUG	livekit.transport	rtc/transport.go:717	peer connection state change	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "transport": "SUBSCRIBER", "state": "closed"}
2025-04-12T13:44:52.293+0200	INFO	livekit	rtc/room.go:698	removing participant without connection	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv", "participant": "gst-producer", "pID": "PA_Lb4qDnwN7k7b", "remote": false, "publisherCandidates": ["[local][trickle] udp4 host 192.168.0.77:7882 (resolved: 192.168.0.77:7882)", "[local][trickle] udp6 host [fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33]:7882 (resolved: [fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33]:7882)", "[local][trickle] udp6 host [fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731]:7882 (resolved: [fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731]:7882)", "[local][trickle] tcp4 host 192.168.0.77:7881 (resolved: 192.168.0.77:7881)", "[local][trickle] tcp6 host [fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33]:7881 (resolved: [fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33]:7881)", "[local][trickle] tcp6 host [fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731]:7881 (resolved: [fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731]:7881)", "[local][trickle] udp4 srflx 193.69.227.251:55260 related 0.0.0.0:55260 (resolved: 193.69.227.251:55260)", "[local][trickle] udp4 srflx 193.69.227.251:36266 related 0.0.0.0:36266 (resolved: 193.69.227.251:36266)", "[local][trickle] udp4 srflx 193.69.227.251:45952 related 0.0.0.0:45952 (resolved: 193.69.227.251:45952)", "[remote][trickle] udp4 host 192.168.0.77:60657", "[remote][trickle] tcp4 host 192.168.0.77:9", "[remote][trickle] tcp4 host 192.168.0.77:46247", "[remote][trickle] udp6 host fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33:57430", "[remote][trickle] tcp6 host fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33:9", "[remote][trickle] tcp6 host fd5c:64b6:1625:63dc:8602:ae7e:5f30:af33:43037", "[remote][trickle] udp6 host fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731:57290", "[remote][trickle] tcp6 host fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731:9", "[remote][trickle] tcp6 host fd5c:64b6:1625:63dc:1268:38ff:fe5c:8731:47827", "[remote][trickle] udp6 host fe80::1268:38ff:fe5c:8...:42010", "[remote][trickle] tcp6 host fe80::1268:38ff:fe5c:8...:9", "[remote][trickle] tcp6 host fe80::1268:38ff:fe5c:8...:54965"], "connectionType": "unknown", "reason": "NONE"}
2025-04-12T13:45:12.824+0200	INFO	livekit.room	rtc/room.go:911	closing room	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv"}
2025-04-12T13:45:12.824+0200	INFO	livekit	service/roommanager.go:168	deleting room state	{"room": "testroom"}
2025-04-12T13:45:12.824+0200	INFO	livekit.room	service/roommanager.go:626	room closed	{"room": "testroom", "roomID": "RM_GSzta7TxcsRv"}