Closed serenaraju closed 1 year ago
Your GStreamer pipeline template:
webmmux name=muxer ! filesink location={participant_id}.webm
opusparse name=audio ! muxer.audio_0
capsfilter caps=video/x-vp8 name=video ! muxer.video_0
Should create .webm
files for each other participant in the room with the muxed audio and video. Do you get those files?
There does seem to be a problem here:
2022-02-10T10:26:21.696987Z DEBUG XMPP <<< <iq type='set' from='roomname@conference.tifr.ml/focus' to='k66rln0ffxv4jfea@tifr.ml/dEIQSOBo' xmlns='jabber:client' id='azY2cmxuMGZmeHY0amZlYUB0aWZyLm1sL2RFSVFTT0JvAFg3Mlg5LTE3NwCh7Rb+VEnCMt36DNsrizGb'><jingle initiator='focus@auth.tifr.ml/focus' action='session-initiate' sid='a045okmrde75i' xmlns='urn:xmpp:jingle:1'><content name='audio' creator='initiator' senders='both'><description maxptime='60' media='audio' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type name='opus' channels='2' clockrate='48000' id='111'><parameter name='minptime' value='10'/><parameter name='useinbandfec' value='1'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='103' clockrate='16000' name='ISAC'/><payload-type id='104' clockrate='32000' name='ISAC'/><payload-type id='126' clockrate='8000' name='telephone-event'/><rtp-hdrext id='1' uri='urn:ietf:params:rtp-hdrext:ssrc-audio-level' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtp-hdrext id='5' uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtcp-mux/><source ssrc='1799763942' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-audio-1 8be49ad8-a380-42e6-94a1-e65ce298b0f5-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source name='jvb-a0' ssrc='2623813084' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='mixedmslabel mixedlabelaudio0' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source></description><transport ufrag='b9l5i1frhims2n' pwd='61ct04j3io26dn8veeh8k2sap5' xmlns='urn:xmpp:jingle:transports:ice-udp:1'><web-socket url='wss://tifr.ml:443/colibri-ws/default-id/e292f7d43441301c/k66rln0ffxv4jfea?pwd=61ct04j3io26dn8veeh8k2sap5' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint hash='sha-256' setup='actpass' required='false' xmlns='urn:xmpp:jingle:apps:dtls:0'>99:F4:AC:FE:AF:A4:3D:A7:9B:3A:08:C7:99:42:82:6E:B7:40:CC:7F:3A:41:57:CD:18:FC:23:84:C3:12:73:5B</fingerprint><candidate ip='192.168.200.61' foundation='1' type='host' protocol='udp' network='0' generation='0' component='1' id='5f81d8670adc4e70ffffffffcec91816' port='10000' priority='2130706431'/><candidate ip='122.200.18.71' foundation='2' protocol='udp' network='0' generation='0' rel-port='10000' component='1' rel-addr='192.168.200.61' id='1b3af99970adc4e70ffffffff88e86220' port='10000' priority='1694498815' type='srflx'/></transport></content><content name='video' creator='initiator' senders='both'><description media='video' xmlns='urn:xmpp:jingle:apps:rtp:1'><payload-type id='100' clockrate='90000' name='VP8'><rtcp-fb subtype='fir' type='ccm' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb subtype='pli' type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter name='x-google-start-bitrate' value='800'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='107' clockrate='90000' name='H264'><rtcp-fb subtype='fir' type='ccm' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb subtype='pli' type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter name='x-google-start-bitrate' value='800'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter name='profile-level-id' value='42e01f;level-asymmetry-allowed=1;packetization-mode=1;'/></payload-type><payload-type id='101' clockrate='90000' name='VP9'><rtcp-fb subtype='fir' type='ccm' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb subtype='pli' type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><parameter name='x-google-start-bitrate' value='800'/><rtcp-fb type='transport-cc' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='96' clockrate='90000' name='rtx'><parameter name='apt' value='100'/><rtcp-fb subtype='fir' type='ccm' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb subtype='pli' type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='97' clockrate='90000' name='rtx'><parameter name='apt' value='101'/><rtcp-fb subtype='fir' type='ccm' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/><rtcp-fb subtype='pli' type='nack' xmlns='urn:xmpp:jingle:apps:rtp:rtcp-fb:0'/></payload-type><payload-type id='99' clockrate='90000' name='rtx'><parameter name='apt' value='107'/></payload-type><rtp-hdrext id='3' uri='http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtp-hdrext id='5' uri='http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01' xmlns='urn:xmpp:jingle:apps:rtp:rtp-hdrext:0'/><rtcp-mux/><source ssrc='3326384229' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-video-1 5f89b9af-3483-462e-8a0f-bca83478b703-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source ssrc='868419519' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-video-1 5f89b9af-3483-462e-8a0f-bca83478b703-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source ssrc='2955437961' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-video-1 5f89b9af-3483-462e-8a0f-bca83478b703-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source ssrc='2771060444' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-video-1 5f89b9af-3483-462e-8a0f-bca83478b703-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source ssrc='4013738996' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-video-1 5f89b9af-3483-462e-8a0f-bca83478b703-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source ssrc='2417336756' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='roomname@conference.tifr.ml/8ec106b7' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='8ec106b7-video-1 5f89b9af-3483-462e-8a0f-bca83478b703-1' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><source name='jvb-v0' ssrc='882837485' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><ssrc-info owner='jvb' xmlns='http://jitsi.org/jitmeet'/><parameter name='msid' value='mixedmslabel mixedlabelvideo0' xmlns='urn:xmpp:jingle:apps:rtp:1'/></source><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='3326384229'/><source ssrc='868419519'/></ssrc-group><ssrc-group semantics='SIM' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='3326384229'/><source ssrc='2955437961'/><source ssrc='2771060444'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='2955437961'/><source ssrc='4013738996'/></ssrc-group><ssrc-group semantics='FID' xmlns='urn:xmpp:jingle:apps:rtp:ssma:0'><source ssrc='2771060444'/><source ssrc='2417336756'/></ssrc-group></description><transport ufrag='b9l5i1frhims2n' pwd='61ct04j3io26dn8veeh8k2sap5' xmlns='urn:xmpp:jingle:transports:ice-udp:1'><web-socket url='wss://tifr.ml:443/colibri-ws/default-id/e292f7d43441301c/k66rln0ffxv4jfea?pwd=61ct04j3io26dn8veeh8k2sap5' xmlns='http://jitsi.org/protocol/colibri'/><rtcp-mux/><fingerprint hash='sha-256' setup='actpass' required='false' xmlns='urn:xmpp:jingle:apps:dtls:0'>99:F4:AC:FE:AF:A4:3D:A7:9B:3A:08:C7:99:42:82:6E:B7:40:CC:7F:3A:41:57:CD:18:FC:23:84:C3:12:73:5B</fingerprint><candidate ip='192.168.200.61' foundation='1' type='host' protocol='udp' network='0' generation='0' component='1' id='5f81d8670adc4e70ffffffffcec91816' port='10000' priority='2130706431'/><candidate ip='122.200.18.71' foundation='2' protocol='udp' network='0' generation='0' rel-port='10000' component='1' rel-addr='192.168.200.61' id='1b3af99970adc4e70ffffffff88e86220' port='10000' priority='1694498815' type='srflx'/></transport></content><group semantics='BUNDLE' xmlns='urn:xmpp:jingle:apps:grouping:0'><content name='audio'/><content name='video'/></group><bridge-session id='f5d7d' xmlns='http://jitsi.org/protocol/focus'/></jingle></iq>
2022-02-10T10:26:21.697665Z DEBUG Received non-Jingle IQ
The xmpp-parsers Jingle::try_from
on the element must be failing due to something specific about the Jingle stanza your focus is sending (https://github.com/avstack/gst-meet/blob/master/lib-gst-meet/src/conference.rs#L546).
The files are not showing up in gst-meet location where I am running the command. (I am running it in the same location as where gst-meet is installed. Is that an issue with GStreamer? Should I try to reinstall that? The files are not showing up anywhere. For now, I am considering reinstalling the packages that were installed. But that will still not fix the connection closed issue (pinger issue). What can I do about that?
Instead of blindly looking at the code, I would recommend to use match
on the result of TryFrom::try_from
, replacing if let Ok(jingle) = Jingle::try_from(element) {
with something like:
match Jingle::try_from(element) {
Ok(jingle) => { … },
Err(err) => error!("Jingle element failed to parse: {err}"),
}
Doing so everywhere will lead to a much better debugging experience.
Yes absolutely, improvements to error handling in general would be welcomed!
@serenaraju
@serenaraju I'm going to close this issue, please let me know if you are still hitting issues with the latest code.
I am currently having two problems with gst-meet:
@jbg