No format has been registered for RTP payload type (number) 100 when using H264


#1

Connection between Jitsi and Chrome 67:

When Jitsi offers VP8 only, the connection goes well and I have video and audio:

a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96

When I offer H264 instead, the connection fails and I see “No format has been registered for RTP payload type (number) 100”:

a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:123 rtx/90000
a=fmtp:123 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125

I tried all kinds of profile-level-id, but it makes no difference. As soon as I use VP8, everything works fine. Any idea what the problem could be or what else I could try?

Full OFFER is here, in case:

v=0
o=- 6533796236449911161 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R
a=x-attach-conference-id:16190e1ce6caec24
a=x-attach-flag:new-participant
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:cB1b
a=ice-pwd:jI7Rx7VtNIAyLIp6AujVo9FC
a=ice-options:trickle
a=fingerprint:sha-256 48:13:1E:AB:B0:46:AB:5C:C1:00:4C:97:A5:A2:2B:75:C7:F8:BB:9E:BD:DE:75:83:4D:45:F8:E0:BF:30:C7:B9
a=setup:active
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10;useinbandfec=1
a=ssrc:2726442475 cname:3DQhP/1ckIlmNoDw
a=ssrc:2726442475 msid:zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R 5395fa53-fbbd-4912-ba7d-efee8d2683e8
a=ssrc:2726442475 mslabel:zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R
a=ssrc:2726442475 label:5395fa53-fbbd-4912-ba7d-efee8d2683e8
a=x-attach-channel-id:ab0094fbba638ce7
m=video 9 UDP/TLS/RTP/SAVPF 100 101 102 123 127 122 125 107
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:cB1b
a=ice-pwd:jI7Rx7VtNIAyLIp6AujVo9FC
a=ice-options:trickle
a=fingerprint:sha-256 48:13:1E:AB:B0:46:AB:5C:C1:00:4C:97:A5:A2:2B:75:C7:F8:BB:9E:BD:DE:75:83:4D:45:F8:E0:BF:30:C7:B9
a=setup:active
a=mid:video
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=sendrecv
a=rtcp-mux
a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:102 H264/90000
a=rtcp-fb:102 goog-remb
a=rtcp-fb:102 transport-cc
a=rtcp-fb:102 ccm fir
a=rtcp-fb:102 nack
a=rtcp-fb:102 nack pli
a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:123 rtx/90000
a=fmtp:123 apt=102
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d001f
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=127
a=rtpmap:125 H264/90000
a=rtcp-fb:125 goog-remb
a=rtcp-fb:125 transport-cc
a=rtcp-fb:125 ccm fir
a=rtcp-fb:125 nack
a=rtcp-fb:125 nack pli
a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=64001f
a=rtpmap:107 rtx/90000
a=fmtp:107 apt=125
a=ssrc-group:FID 674736241 2528154465
a=ssrc:674736241 cname:3DQhP/1ckIlmNoDw
a=ssrc:674736241 msid:zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R 6a34adf6-5667-4d44-aa8e-39fb74f00862
a=ssrc:674736241 mslabel:zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R
a=ssrc:674736241 label:6a34adf6-5667-4d44-aa8e-39fb74f00862
a=ssrc:2528154465 cname:3DQhP/1ckIlmNoDw
a=ssrc:2528154465 msid:zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R 6a34adf6-5667-4d44-aa8e-39fb74f00862
a=ssrc:2528154465 mslabel:zAAc23mjQZ6BslF9ujmifKul0GQdw9a0yq3R
a=ssrc:2528154465 label:6a34adf6-5667-4d44-aa8e-39fb74f00862
a=x-attach-channel-id:3f1f23e383ea3884

#2

Have you tried configuring your server to prefer H264? https://github.com/jitsi/jitsi-meet/blob/master/config.js#L137


#3

Saúl, sorry, I forgot to say I’m using the bridge over REST, not Meet.


#4

Where are you seeing this error? Client or bridge?


#5

On the bridge.

I see a lot more WARNINGs [there are some related to a non-functional SCTP channel, but some may be related, so posting this here]:

Jun 28 22:18:21 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:20.787 WARNING: [86] org.jitsi.impl.neomedia.transform.dtls.DatagramTransportImpl.log() Unknown DTLS handshake message type: 55
Jun 28 22:18:21 jitsi-development-201805071945 jvb.log INFO jitsi 2018-06-29 05:18:20.809 INFO: [86] org.jitsi.impl.neomedia.transform.srtp.OpenSSLWrapperLoader.log() jnopenssl successfully loaded
Jun 28 22:18:21 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:20.821 WARNING: [87] org.jitsi.impl.neomedia.transform.dtls.DatagramTransportImpl.log() Unknown DTLS handshake message type: 99
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log INFO jitsi 2018-06-29 05:18:21.022 INFO: [36] org.jitsi.videobridge.Conference.log() CAT=stat ds_change,conf_id=2950f9550a913452 ds_id=NA-lTs2sSgimlkjgGybgXQ~AfpBoD5ARzQ
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.023 WARNING: [36] org.jitsi.videobridge.EndpointMessageTransport.log() SCTP connection with NA-lTs2sSgimlkjgGybgXQ~AfpBkeZARzQ not ready yet.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.023 WARNING: [36] org.jitsi.videobridge.EndpointMessageTransport.log() No available transport channel, can't send a message
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.023 WARNING: [36] org.jitsi.videobridge.EndpointMessageTransport.log() SCTP connection with NA-lTs2sSgimlkjgGybgXQ~AfpBoD5ARzQ not ready yet.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.024 WARNING: [36] org.jitsi.videobridge.EndpointMessageTransport.log() No available transport channel, can't send a message
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log INFO jitsi 2018-06-29 05:18:21.048 INFO: [91] net.sf.fmj.media.Log.info() Resetting queue, last seq added: 9223372036854775806, current seq: 8222
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log INFO jitsi 2018-06-29 05:18:21.082 INFO: [91] net.sf.fmj.media.Log.info() Resetting queue, last seq added: 9223372036854775806, current seq: 20834
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.087 WARNING: [111] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1500282894
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.102 WARNING: [118] org.jitsi.videobridge.cc.BitrateController.log() Dropping an RTP packet, because the SSRC has not been signaled:2731838574
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.109 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25073 ms, recv time=1530249501104 ms, send delta=-1 ms, recv delta=-1 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.110 WARNING: [111] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1500282894
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.113 WARNING: [118] org.jitsi.videobridge.cc.BitrateController.log() Dropping an RTP packet, because the SSRC has not been signaled:2731838574
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.115 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25085 ms, recv time=1530249501114 ms, send delta=12 ms, recv delta=10 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.117 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25090 ms, recv time=1530249501117 ms, send delta=5 ms, recv delta=3 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log SEVERE jitsi 2018-06-29 05:18:21.119 SEVERE: [106] net.sf.fmj.media.Log.error() No format has been registered for RTP payload type (number) 102!
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.126 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25095 ms, recv time=1530249501126 ms, send delta=5 ms, recv delta=9 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.129 WARNING: [113] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1233995926
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.131 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25160 ms, recv time=1530249501131 ms, send delta=-1 ms, recv delta=-1 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.132 WARNING: [113] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1233995926
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log INFO jitsi 2018-06-29 05:18:21.140 INFO: [118] org.jitsi.impl.neomedia.rtp.translator.RTCPFeedbackMessageSender.log() Sending a FIR to ssrc=564461278 remainingRetries=9
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.146 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25098 ms, recv time=1530249501142 ms, send delta=3 ms, recv delta=16 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.152 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25182 ms, recv time=1530249501152 ms, send delta=22 ms, recv delta=21 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.156 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25106 ms, recv time=1530249501153 ms, send delta=8 ms, recv delta=11 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.161 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25186 ms, recv time=1530249501161 ms, send delta=4 ms, recv delta=9 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.163 WARNING: [113] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1233995926
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.165 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25192 ms, recv time=1530249501164 ms, send delta=6 ms, recv delta=3 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.165 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25125 ms, recv time=1530249501165 ms, send delta=19 ms, recv delta=12 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.166 WARNING: [111] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1500282894
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.169 WARNING: [118] org.jitsi.videobridge.cc.BitrateController.log() Dropping an RTP packet, because the SSRC has not been signaled:2731838574
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.171 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25129 ms, recv time=1530249501171 ms, send delta=4 ms, recv delta=6 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.173 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25203 ms, recv time=1530249501173 ms, send delta=11 ms, recv delta=9 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.174 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25134 ms, recv time=1530249501173 ms, send delta=5 ms, recv delta=2 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.175 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25141 ms, recv time=1530249501175 ms, send delta=7 ms, recv delta=2 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.176 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25206 ms, recv time=1530249501176 ms, send delta=3 ms, recv delta=3 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.179 WARNING: [111] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25146 ms, recv time=1530249501178 ms, send delta=5 ms, recv delta=3 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.180 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25211 ms, recv time=1530249501179 ms, send delta=5 ms, recv delta=3 ms.
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.180 WARNING: [111] org.jitsi.impl.neomedia.transform.RetransmissionRequesterImpl.log() format_not_found,stream_hash=1500282894
Jun 28 22:18:22 jitsi-development-201805071945 jvb.log WARNING jitsi 2018-06-29 05:18:21.181 WARNING: [113] org.jitsi.impl.neomedia.rtp.remotebitrateestimator.RemoteBitrateEstimatorAbsSendTime.log() Probe packet received: send time=25215 ms, recv time=1530249501180 ms, send delta=4 ms, recv delta=1 ms.

#6

I looked at jicofo and it contains 2 RTP extensions:

When I make the colibri request to the bridge, I only use one. Is it possible the second extension is missing? But how is this baked into the colibri request, as transport can only take one xmlns property?

            "transport": {
                "candidates": [
                    {
                        "generation": 0,
                        "component": 1,
                        "protocol": "ssltcp",
                        "port": 4443,
                        "ip": "192.168.0.5",
                        "tcptype": "passive",
                        "foundation": "1",
                        "id": "87c5dc1cd51af205e6b797921be63b002ae13fb2",
                        "priority": 2130706431,
                        "type": "host",
                        "network": 0
                    }
                ],
                "xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
                "ufrag": "3pcs1ch4k63ld",
                "rtcp-mux": true,
                "pwd": "4p8t958h05ib4kl0ilvs40so93",
                "fingerprints": [
                    {
                        "fingerprint": "A1:1B:F6:08:12:FF:0B:90:6C:82:77:6B:58:2F:FB:55:B1:5D:9F:7A",
                        "setup": "actpass",
                        "hash": "sha-1"
                    }
                ]
            }

This seems hardcoded anyway, so I rather don’t think it’s related.


#7

Can you attach the REST COLIBRI messages between the bridge and your signaling (Jicofo equivalent)?


#8

Here’s the initial create conference request. My log provider has completely messed up the line order. I’ll get the whole sequence later. Need to sort this out first.


#9

Hi Brian,

Here’s the conference setup:

Request:

{
	"contents": [{
		"name": "audio",
		"channels": [{
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"payload-types": [{
				"id": 111,
				"name": "opus",
				"clockrate": 48000,
				"channels": 2,
				"parameters": {
					"minptime": "10",
					"useinbandfec": "1"
				}
			}],
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true
			}
		}, {
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"payload-types": [{
				"id": 111,
				"name": "opus",
				"clockrate": 48000,
				"channels": 2,
				"parameters": {
					"minptime": "10",
					"useinbandfec": "1"
				}
			}],
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true
			}
		}]
	}, {
		"name": "video",
		"channels": [{
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"last-n": 3,
			"receive-simulcast-layer": 0,
			"payload-types": [{
				"id": 100,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "42001f"
				}
			}, {
				"id": 101,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "100"
				}
			}, {
				"id": 102,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "42e01f"
				}
			}, {
				"id": 123,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "102"
				}
			}, {
				"id": 127,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "4d001f"
				}
			}, {
				"id": 122,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "127"
				}
			}, {
				"id": 125,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "64001f"
				}
			}, {
				"id": 107,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "125"
				}
			}],
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true
			}
		}, {
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"last-n": 3,
			"receive-simulcast-layer": 0,
			"payload-types": [{
				"id": 100,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "42001f"
				}
			}, {
				"id": 101,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "100"
				}
			}, {
				"id": 102,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "42e01f"
				}
			}, {
				"id": 123,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "102"
				}
			}, {
				"id": 127,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "4d001f"
				}
			}, {
				"id": 122,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "127"
				}
			}, {
				"id": 125,
				"name": "H264",
				"clockrate": 90000,
				"rtcp-fbs": [{
					"type": "ccm",
					"subtype": "fir"
				}, {
					"type": "nack"
				}, {
					"type": "nack",
					"subtype": "pli"
				}, {
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}],
				"parameters": {
					"level-asymmetry-allowed": "1",
					"packetization-mode": "1",
					"profile-level-id": "64001f"
				}
			}, {
				"id": 107,
				"name": "rtx",
				"clockrate": 90000,
				"parameters": {
					"apt": "125"
				}
			}],
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true
			}
		}]
	}, {
		"name": "data",
		"sctpconnections": [{
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
			"port": 5000,
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true
			}
		}, {
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"port": 5000,
			"transport": {
				"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
				"rtcp-mux": true
			}
		}]
	}],
	"endpoints": [],
	"channel-bundles": []
}

Response:

 {
 	"id": "a249a0a20a18a7ec",
 	"contents": [{
 		"name": "audio",
 		"channels": [{
 			"id": "f0c3f313531326c7",
 			"expire": 15,
 			"initiator": true,
 			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 			"direction": "sendrecv",
 			"rtp-level-relay-type": "translator",
 			"sources": [833104665]
 		}, {
 			"id": "dff8548b2657c504",
 			"expire": 15,
 			"initiator": true,
 			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"direction": "sendrecv",
 			"rtp-level-relay-type": "translator",
 			"sources": [833104665]
 		}]
 	}, {
 		"name": "video",
 		"channels": [{
 			"id": "f55a40196aa6c9de",
 			"expire": 15,
 			"initiator": true,
 			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 			"direction": "sendrecv",
 			"rtp-level-relay-type": "translator",
 			"last-n": 3,
 			"sources": [2270348651]
 		}, {
 			"id": "c08ec3196b4ce9ae",
 			"expire": 15,
 			"initiator": true,
 			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"direction": "sendrecv",
 			"rtp-level-relay-type": "translator",
 			"last-n": 3,
 			"sources": [2270348651]
 		}]
 	}, {
 		"name": "data",
 		"sctpconnections": [{
 			"id": "9faae3fed0289e30",
 			"expire": 15,
 			"initiator": true,
 			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 			"port": 5000
 		}, {
 			"id": "c666ae09163d0a85",
 			"expire": 15,
 			"initiator": true,
 			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"port": 5000
 		}]
 	}],
 	"endpoints": [{
 		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI"
 	}, {
 		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI"
 	}],
 	"channel-bundles": [{
 		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 		"transport": {
 			"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
 			"rtcp-mux": true,
 			"ufrag": "5cgtc1ch7bmhn3",
 			"pwd": "777chpfu365m7i27adu1va8s6j",
 			"fingerprints": [{
 				"fingerprint": "CB:65:93:3A:33:D3:A5:32:95:F7:10:F3:F1:67:6C:A5:56:07:AE:C2",
 				"hash": "sha-1",
 				"setup": "actpass"
 			}],
 			"candidates": [{
 				"id": "a249a0a20a18a7eccc3698717298c410ffffffffb5d8dfdd",
 				"component": 1,
 				"protocol": "ssltcp",
 				"priority": 2130706431,
 				"ip": "95.216.140.228",
 				"port": 4443,
 				"type": "host",
 				"tcptype": "passive",
 				"generation": 0,
 				"foundation": "1",
 				"network": 0
 			}, {
 				"id": "a249a0a20a18a7eccc3698717298c410ffffffffb5d8f592",
 				"component": 1,
 				"protocol": "udp",
 				"priority": 2130706431,
 				"ip": "95.216.140.228",
 				"port": 10000,
 				"type": "host",
 				"generation": 0,
 				"foundation": "2",
 				"network": 0
 			}]
 		}
 	}, {
 		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI",
 		"transport": {
 			"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
 			"rtcp-mux": true,
 			"ufrag": "1vqum1ch7bmhi9",
 			"pwd": "4g58joq0dcpc55dmr57d9qs1dj",
 			"fingerprints": [{
 				"fingerprint": "CB:65:93:3A:33:D3:A5:32:95:F7:10:F3:F1:67:6C:A5:56:07:AE:C2",
 				"hash": "sha-1",
 				"setup": "actpass"
 			}],
 			"candidates": [{
 				"id": "a249a0a20a18a7ec38ab8c8f4732a45406c47a9f9",
 				"component": 1,
 				"protocol": "ssltcp",
 				"priority": 2130706431,
 				"ip": "95.216.140.228",
 				"port": 4443,
 				"type": "host",
 				"tcptype": "passive",
 				"generation": 0,
 				"foundation": "1",
 				"network": 0
 			}, {
 				"id": "a249a0a20a18a7ec38ab8c8f4732a45406c47bfae",
 				"component": 1,
 				"protocol": "udp",
 				"priority": 2130706431,
 				"ip": "95.216.140.228",
 				"port": 10000,
 				"type": "host",
 				"generation": 0,
 				"foundation": "2",
 				"network": 0
 			}]
 		}
 	}]
 }

So far this looks good IMO.

Then we send an offer and get an answer back from the client, so we patch the conference:

Request

 {
 	"id": "a249a0a20a18a7ec",
 	"contents": [{
 		"name": "audio",
 		"channels": [{
 			"id": "dff8548b2657c504",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"direction": "sendrecv",
 			"sources": [2443786585],
 			"ssrc-groups": [],
 			"payload-types": [{
 				"id": 111,
 				"name": "opus",
 				"clockrate": 48000,
 				"channels": 2,
 				"parameters": {
 					"minptime": "10",
 					"useinbandfec": "1"
 				}
 			}],
 			"rtp-hdrexts": [{
 				"id": 1,
 				"uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
 			}]
 		}]
 	}, {
 		"name": "video",
 		"channels": [{
 			"id": "c08ec3196b4ce9ae",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 			"direction": "sendrecv",
 			"ssrc-groups": [{
 				"semantics": "FID",
 				"sources": [{
 					"ssrc": 2279308616
 				}, {
 					"ssrc": 2745159446
 				}]
 			}],
 			"payload-types": [{
 				"id": 100,
 				"name": "H264",
 				"clockrate": 90000,
 				"channels": 0,
 				"rtcp-fbs": [{
 					"type": "goog-remb"
 				}, {
 					"type": "transport-cc"
 				}, {
 					"type": "ccm",
 					"subtype": "fir"
 				}, {
 					"type": "nack"
 				}, {
 					"type": "nack",
 					"subtype": "pli"
 				}],
 				"parameters": {
 					"level-asymmetry-allowed": "1",
 					"packetization-mode": "1",
 					"profile-level-id": "42001f"
 				}
 			}, {
 				"id": 101,
 				"name": "rtx",
 				"clockrate": 90000,
 				"channels": 0,
 				"parameters": {
 					"apt": "100"
 				}
 			}, {
 				"id": 102,
 				"name": "H264",
 				"clockrate": 90000,
 				"channels": 0,
 				"rtcp-fbs": [{
 					"type": "goog-remb"
 				}, {
 					"type": "transport-cc"
 				}, {
 					"type": "ccm",
 					"subtype": "fir"
 				}, {
 					"type": "nack"
 				}, {
 					"type": "nack",
 					"subtype": "pli"
 				}],
 				"parameters": {
 					"level-asymmetry-allowed": "1",
 					"packetization-mode": "1",
 					"profile-level-id": "42e01f"
 				}
 			}, {
 				"id": 123,
 				"name": "rtx",
 				"clockrate": 90000,
 				"channels": 0,
 				"parameters": {
 					"apt": "102"
 				}
 			}, {
 				"id": 127,
 				"name": "H264",
 				"clockrate": 90000,
 				"channels": 0,
 				"rtcp-fbs": [{
 					"type": "goog-remb"
 				}, {
 					"type": "transport-cc"
 				}, {
 					"type": "ccm",
 					"subtype": "fir"
 				}, {
 					"type": "nack"
 				}, {
 					"type": "nack",
 					"subtype": "pli"
 				}],
 				"parameters": {
 					"level-asymmetry-allowed": "1",
 					"packetization-mode": "1",
 					"profile-level-id": "4d001f"
 				}
 			}, {
 				"id": 122,
 				"name": "rtx",
 				"clockrate": 90000,
 				"channels": 0,
 				"parameters": {
 					"apt": "127"
 				}
 			}, {
 				"id": 125,
 				"name": "H264",
 				"clockrate": 90000,
 				"channels": 0,
 				"rtcp-fbs": [{
 					"type": "goog-remb"
 				}, {
 					"type": "transport-cc"
 				}, {
 					"type": "ccm",
 					"subtype": "fir"
 				}, {
 					"type": "nack"
 				}, {
 					"type": "nack",
 					"subtype": "pli"
 				}],
 				"parameters": {
 					"level-asymmetry-allowed": "1",
 					"packetization-mode": "1",
 					"profile-level-id": "64001f"
 				}
 			}, {
 				"id": 107,
 				"name": "rtx",
 				"clockrate": 90000,
 				"channels": 0,
 				"parameters": {
 					"apt": "125"
 				}
 			}],
 			"rtp-hdrexts": [{
 				"id": 2,
 				"uri": "urn:ietf:params:rtp-hdrext:toffset"
 			}, {
 				"id": 3,
 				"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
 			}, {
 				"id": 5,
 				"uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
 			}]
 		}]
 	}, {
 		"name": "data",
 		"sctpconnections": [{
 			"id": "c666ae09163d0a85",
 			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI"
 		}]
 	}],
 	"endpoints": [],
 	"channel-bundles": [{
 		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
 		"transport": {
 			"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
 			"rtcp-mux": true,
 			"ufrag": "06HK",
 			"pwd": "p1vxjrDqMOT2sOK9yG/iqi7m",
 			"fingerprints": [{
 				"fingerprint": "9B:7C:FB:2E:31:64:D5:5A:6E:8F:C4:66:D8:63:9F:D3:1D:EE:8E:DC:CD:1B:20:71:07:81:9D:B7:81:90:6F:FA",
 				"hash": "sha-256",
 				"setup": "active"
 			}]
 		}
 	}]
 }

Response:

{
	"id": "a249a0a20a18a7ec",
	"contents": [{
		"name": "audio",
		"channels": [{
			"id": "dff8548b2657c504",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"sources": [833104665],
			"ssrcs": [2443786585]
		}]
	}, {
		"name": "video",
		"channels": [{
			"id": "c08ec3196b4ce9ae",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"direction": "sendrecv",
			"rtp-level-relay-type": "translator",
			"last-n": 3,
			"sources": [2270348651]
		}]
	}, {
		"name": "data",
		"sctpconnections": [{
			"id": "c666ae09163d0a85",
			"expire": 15,
			"initiator": true,
			"endpoint": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"channel-bundle-id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
			"port": 5000
		}]
	}],
	"endpoints": [{
		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI"
	}, {
		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx3qDApaI"
	}],
	"channel-bundles": [{
		"id": "NA-lTs2sSgimlkjgGybgXQ~Aftx2ZOApaI",
		"transport": {
			"xmlns": "urn:xmpp:jingle:transports:ice-udp:1",
			"rtcp-mux": true,
			"ufrag": "5cgtc1ch7bmhn3",
			"pwd": "777chpfu365m7i27adu1va8s6j",
			"fingerprints": [{
				"fingerprint": "CB:65:93:3A:33:D3:A5:32:95:F7:10:F3:F1:67:6C:A5:56:07:AE:C2",
				"hash": "sha-1",
				"setup": "actpass"
			}],
			"candidates": [{
				"id": "a249a0a20a18a7eccc3698717298c410ffffffffb5d8dfdd",
				"component": 1,
				"protocol": "ssltcp",
				"priority": 2130706431,
				"ip": "95.216.140.228",
				"port": 4443,
				"type": "host",
				"tcptype": "passive",
				"generation": 0,
				"foundation": "1",
				"network": 0
			}, {
				"id": "a249a0a20a18a7eccc3698717298c410ffffffffb5d8f592",
				"component": 1,
				"protocol": "udp",
				"priority": 2130706431,
				"ip": "95.216.140.228",
				"port": 10000,
				"type": "host",
				"generation": 0,
				"foundation": "2",
				"network": 0
			}]
		}
	}]
}

Not sure, but I believe the error is the missing ssrc in video, for whatever reason it’s missing.

See that the client requests FID (with VP8 I believe semantics was SIM), these ssrcs seem to go missing when the bridge responds, hence no video.

I tried different H264 profiles and whichever is first appears in Jitsi logs, so the problem rather isn’t the profile.


#10

I found something suitable in the Jitsi logs:

jitsi 2018-06-30 02:07:56.075 WARNING: [20] org.jitsi.videobridge.xmpp.MediaStreamTrackFactory.log() Unprocessed source groups: Optional[<ssrc-group xmlns='urn:xmpp:jingle:apps:rtp:ssma:0' semantics='FID'/>]

#11

@bbaldino Any ideas? I didn’t want to push, only worried it went down on the list over the weekend.


#12

Hey @Oliver_Hausler sorry I’m out this week. I haven’t forgotten about this though, will try and get back to you next week. Or @bgrozev might know what’s up.


#13

Shooting from the hip: have you tried “h264” (lower case ‘h’ to match the libjitsi constant[0])?

Boris

[0] https://github.com/jitsi/libjitsi/blob/master/src/org/jitsi/service/neomedia/codec/Constants.java#L86


#14

_Thanks guys, something got in between, will look into this next week and post results. _


#15

Which version of the jvb are you using. This looks like the issue I reported in:

If I switch the jvb to a older version, it works for me. I did a bitset search and found it started from this commit:

But I’m not sure which part of the libjitsi is causing the problem.