WebRTC quality issues

Using Chrome and VP9 codec I’m getting very poor motion quality:

Here is the SDP:

wsConnection.onmessage: {“status”:200,“statusDescription”:“OK”,“direction”:“play”,“command”:“getOffer”,“streamInfo”:{“applicationName”:“rtc/definst”,“streamName”:“10021237?id=10021237&cSessionId=eu21osmab7gaj02d4q0pam83d2”,“sessionId”:“374588655”},“sdp”:{“type”:“offer”,“sdp”:“v=0\r\no=WowzaStreamingEngine-next 929269086 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 1E:3B:E4:0F:B0:6B:C8:06:13:A7:E5:E2:8D:14:1A:B3:D4:3D:CC:EA:38:E1:D6:AA:23:4F:D6:F6:F1:90:81:EE\r\na=group:BUNDLE video audio\r\na=ice-options:trickle\r\na=msid-semantic:WMS *\r\nm=video 9 RTP/SAVPF 97\r\na=rtpmap:97 VP9/90000\r\na=framesize:97 640-480\r\na=control:trackID=2\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=ice-pwd:0025de464cec7fd1c93b6a13aeb63efd\r\na=ice-ufrag:3dd3d3f8\r\na=mid:video\r\na=msid:{c9f3d510-13c5-4520-9ad9-870a99eb01e9} {c03b47bf-0e95-4d9a-aeba-235f12cc03ac}\r\na=rtcp-fb:97 nack\r\na=rtcp-fb:97 nack pli\r\na=rtcp-fb:97 ccm fir\r\na=rtcp-mux\r\na=setup:actpass\r\na=ssrc:998325332 cname:{af41fb3b-068b-44a2-8862-e9d311686131}\r\nm=audio 9 RTP/SAVPF 96\r\na=rtpmap:96 OPUS/48000/2\r\na=control:trackID=1\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=ice-pwd:0025de464cec7fd1c93b6a13aeb63efd\r\na=ice-ufrag:3dd3d3f8\r\na=mid:audio\r\na=msid:{c9f3d510-13c5-4520-9ad9-870a99eb01e9} {5008dcb6-dc1e-4320-8957-d4b047328450}\r\na=rtcp-mux\r\na=setup:actpass\r\na=ssrc:1548301393 cname:{af41fb3b-068b-44a2-8862-e9d311686131}\r\n”}}

Any idea what the issue is?

*I have left framerate and bitrate undefined on both publisher and player.

If you have any packet loss you will see the video looks a lot like a dishwasher. If you set the rate to a lower value on the client-side you may have more acceptable results - especially if someone upstream is doing QoS via packet drops on your network. But basically you need a good connection.

I basically copied code from https://webrtc.github.io/samples/src/content/peerconnection/bandwidth/ when I was experimenting with bandwidth

In addition Chrome has some excellent tools for observing the state of the webrtc connection:

chrome://webrtc-internals/ then click on your session.

When you are connected with a session there are graphs and lots of useful information there that might point toward what you need.

Note also that the “dishwasher” is really hard on the transcoder and can blow the CPU budget on it. If that happens you will see nothing but black but maybe still get audio, and in the log you will see resetting messages for the transcoder.

I just tried this codec with the transcoder and got the same output. passthrough with h264 is ok. Audio isn’t even working.