All consumer videos freezes at the same time at random intervals

Ok I assume you wanted to see what the dump returned? So here it is.

{
	"dump": {
		"id": "1ca6946d-88a8-4a16-bcc4-d074be353076",
		"kind": "video",
		"paused": false,
		"rtpMapping": {
			"codecs": [{
				"mappedPayloadType": 101,
				"payloadType": 96
			}, {
				"mappedPayloadType": 102,
				"payloadType": 97
			}],
			"encodings": [{
				"mappedSsrc": 560268770,
				"rid": null,
				"ssrc": 1625946017
			}]
		},
		"rtpParameters": {
			"codecs": [{
				"clockRate": 90000,
				"mimeType": "video/VP8",
				"parameters": {},
				"payloadType": 96,
				"rtcpFeedback": [{
					"type": "goog-remb"
				}, {
					"type": "transport-cc"
				}, {
					"parameter": "fir",
					"type": "ccm"
				}, {
					"type": "nack"
				}, {
					"parameter": "pli",
					"type": "nack"
				}]
			}, {
				"clockRate": 90000,
				"mimeType": "video/rtx",
				"parameters": {
					"apt": 96
				},
				"payloadType": 97,
				"rtcpFeedback": []
			}],
			"encodings": [{
				"codecPayloadType": 96,
				"rtx": {
					"ssrc": 1993177849
				},
				"ssrc": 1625946017
			}],
			"headerExtensions": [{
				"encrypt": false,
				"id": 4,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
			}, {
				"encrypt": false,
				"id": 5,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"
			}, {
				"encrypt": false,
				"id": 6,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"
			}, {
				"encrypt": false,
				"id": 2,
				"parameters": {},
				"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
			}, {
				"encrypt": false,
				"id": 3,
				"parameters": {},
				"uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
			}, {
				"encrypt": false,
				"id": 8,
				"parameters": {},
				"uri": "http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07"
			}, {
				"encrypt": false,
				"id": 13,
				"parameters": {},
				"uri": "urn:3gpp:video-orientation"
			}, {
				"encrypt": false,
				"id": 14,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:toffset"
			}],
			"mid": "0",
			"rtcp": {
				"cname": "3Wz1rHPJ8Qwre0cJ",
				"reducedSize": true
			}
		},
		"rtpStreams": [],
		"traceEventTypes": "",
		"type": "simple"
	}
}

I should also note that the video quality drops only occur when mediasoup is deployed on a server. When I run it locally everything looks great. This once again leads me to believe it could be a networking issue and not specific to mediasoup at all.

You are not even using simulcast so there is little mediasoup or mediasoup-client can do here and the issue is, most probably, due to network issues. One thing you can in do in client side is checking sendTransport.getStats(), specially the availableOutgoingBitrate, which is the bits per seconds that the browser estimates it can send (it uses the transport-cc feedbacks sent by mediasoup, assuming you are using Chrome). Also check packet loss in producer.getStats(). And, in server side, subscribe to producer.on('score') and print the changing values. It’s from 0 (super bad) to 10 (super good).

1 Like