cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
8575
Views
6
Helpful
20
Replies

CMS - What causes the bad presentation quality? (Example attached)

DaveLawang
Level 1
Level 1

Hi community

Edit, August 2023

Since CMS 3.7.1 the presentation quality is acceptable and they've added more options to adjust it in CMS 3.7.2. 

However the suspected, yet unconfirmed, cause (see here) for the once very bad presentation quality persists in CMS 3.7.2.

Observed behavior (MS Edge, Chrome):

  • Video streams of participants usually are crisp and clean (except their connection is bad)
  • Presentation often suddenly starts looking as if it got shredded in the lower third of the image

 

Example of the problem:

cms_meeting_bad_presentation_quality.jpg

 

Any technical suggestions what we could be looking at here? It always draws that kind of pattern where the lower part of the image seems to be turned into those huge square pixels.

  • Packet loss?
  • Codec doing something funky?
  • Delayed I-Frames, P-Frames, B-Frames?

I kind of suspect QoS issues/misconfiguration but have a somewhat hard time to proof it to the network team. When joining the meeting through a smartphone (cellular network) the presentation looks crisp again.

 

Another thing that would be helpful for educational purposes @people that have CMS running and can do presentations smoothly:

Would you be willing to open edge://webrtc-internals/ during an ongoing meeting and take a screenshot of the various graphs (incoming RTP stream of the presentation)? I'd be curious how some "good" reference stats of a smooth presentation should look like. 

Below is what it looks like in our setup when I share a simple Excel sheet in a presentation and scroll around in it a bit. On the receiving end the grid of the cells is gone most of the time and it just kind of looks like a pixelated, laggy, blurry soup. When I stop scrolling it takes 2-3 seconds until quality is adjusted. Interestingly with MS Teams presentations work flawlessly (I mention it because I think both are based on WebRTC technology when using the browser).

2022-09-13 10_09_48-WebRTC Internals.png

 

Anyone else ever experienced similar issues? And got it fixed? Any feedback / suggestions are welcome. 

 

Best regards
Dave

20 Replies 20

DaveLawang
Level 1
Level 1

Just wanted to bump this with an update.

  • We've upgraded to CMS Version 3.7 (Currently latest version)
  • Problem of bad presentation quality persists (Check screenshot below, all presentations look more or less like that)
  • In CMS 3.7 there are some neat new stats -> We noticed that the presentation stream always has a much higher jitter rate than the video streams for no obvious reason (in the screenshot it's "only" 218ms, it occasionally spikes up to 1500ms while the video streams always stay below 10ms)
  • CPU of client machines spikes when we share screen (Intel® Core™ i7-10700 -> screen sharing causes + 25-30% CPU load, on a bit older machines it's quite a bit more load)
  • Issue seems to be browser related (chromium to be precise)
  • Meeting Server 1000 platform looks perfectly healthy when the problems occur (CPU <5% load, RAM, network load, etc. all look fine)
  • Problem persisted even when clients were hooked up to the same switch as CMS (video now with <1ms jitter, presentation jitter still all over the place)
  • jitter on iperf streams between client / server is perfectly fine. In wireshark we see a straight line with max. throughput (same port ranges, same dscp tagging) (sidenote: make sure your iperf versions on client/server match otherwise you'll run into issues)
  • We checked if we're affected by faulty RAM (we're not. Check FN 72368)
  • We checked the quality settings but most of them don't apply to the webbridge anyway
  • Problem doesn't seem to occur on mobile devices (iOS Safari, Webkit rendering engine)
  • Changing congestion algorithms on the ESXi host ("New Reno" vs. "CUBIC") has no impact on presentation quality in CMS 

 

CMS Presentation quality still badCMS Presentation quality still bad

 

By now we suspect that the clients themselves / the browser might be the bottleneck. Since Zoom, MS Teams, Jitsi are all working fine we're kind of lost and out of ideas. Idea donations about what we could investigate or how we could tackle the bad presentation quality would still be welcome.

Cheers,
Dave

We also upgraded to the latest version of 3.7 and the issue existing , what will be the next step?

LeeC
Level 1
Level 1

We have the same problem. There are moments that it is fine and after a while the ping increases and everything blurs. We tried everything.

We are having the same problem.   I agree that it appears that the client (browser) is the bottleneck, but not entirely sure why.   

Anyone have any ideas?

 

LeeC
Level 1
Level 1

in version 3.7.1 it's much better. Unfortunately, after locking the presentation to 720p, the presentation mode is blurry. Try this update!

Are you referring to the callLegProfile settings for qualityPresentation in the API?    What about if you set the presentation to "unrestricted" or "max1080p30"?

In version 3.7.1 cisco locked presentation resoluton to 720p.

and when u look to api guide. This is note to qualityPresentation  

Note: This parameter does not apply to
incoming video from Cisco Meeting App or
Cisco Meeting App WebRTC app.

 

You can set what u want and presentation quality still stay 720p.

So there is no way to change that presentation setting that Cisco has locked?    I wonder if there is a command in the API that you can change that setting.   Has anyone else tried this?

I think it works but only in SIP connection

We haven't seen too many issues from SIP endpoints.  Where we see the problem is from participants coming from the browser, just as the OP mentioned above.   

Are there ways to test/monitor the WebRTC connections to see if that is indeed where the bottleneck is coming from?

DaveLawang
Level 1
Level 1

Edit
tl;dr: Could the lack of AV1 codec support in CMS be the reason for the bad presentation quality during screen sharing?

Edit 2:
Did a quick test with Microsoft Teams. Shared screen and checked what codec is used. In my setup it was h.264, no macroblocking observed, despite Teams servers not even running here on-prem. Repeat same setup with CMS and there's macroblocking and incredible rubberbanding for the audience everywhere (presentation is lagging behind more and more over time and at some point they get confused about what I'm talking about as their slides are lagging 5sec or so behind). I'm lost. No clue where things might go wrong with screen sharing in CMS and out of ideas how to contribute to a solution.


----------------------
Unfortunately can't provide a solution but at least a better problem definition.

Came across this FAQ where screen resoultion of sender and receiver is mentioned as factor in presentation quality. There are some other interesting things mentioned as well that lead down a deep rabbit hole.

6. Minimize the difference between the presentation sender desktop resolution and the receivers’ desktop resolution

The difference between the presentation sender’s resolution and receiver’s resolution is very important. If the sender is sending its desktop at 4K resolution (8M pixels) but the receiver is only receiving at 720p (0.9M pixels), the presentation video will be scaled down to 1/8 of its original size and this is likely to cause significant softening of the picture, any text will likely to be completely unreadable. On the other hand, if the sender is presentation at 1080p and the receiver is receiving in 1080p full-screen, then there will be no degradation due to downscaling.

By default, the receiving WebRTC app will show both main video and presentation in a stacked layout. To improve sharpness of the content in the presentation video, it is recommend switching to the “presentation only” layout on your app, as it will make the best use of your browser tab’s viewing size.

7. Avoid transition effects, animations and fast movements in presentation content

Transition effects and animations on desktop (such as Windows Aero effects) or in applications (such as PowerPoint) should be minimized or avoided to improve the overall experience on the receiver. This is due the fact that fast movements are not optimized for the sharpness-focused presentation video. In extreme cases sharing a video stream within the presentation video will have significant framerate drops and macroblocking (1). This is due to how the H.264 video codec is used in real-time communication scenarios.

Frequently Asked Questions - Best practices for Cisco Meeting App for WebRTC on Google Chrome (on Windows)

 

Within the cisco community you can only find 3 postings that mention macroblocks. Even on google or youtube you don't find a whole lot about the topic which has its roots somewhere deep in the realm of video codecs. Looking at the screenshot of our problem it sure does look an awful lot like we're experiencing some sort of macroblocking issues with CMS webbridge while sharing the screen.

Structures defined by the H.264/AVC standard.Structures defined by the H.264/AVC standard.

Source: Structures defined by the H.264/AVC standard. A frame consists of... | Download Scientific Diagram (researchgate.net)

(1) Macroblocking

Video content that contains large IFrames can cause macroblocking during playback on SV-4K and DMP-2K media players. Macroblocking is a video artifact where areas of a video image appear as small blocks or squares.

Release 4.1 and Later Releases: Cisco StadiumVision Content Creation Design and Specifications Guide

Macroblocking demo video by SSIMWAVE (R) can be found on youtube.

Macroblocking example, (c) ssimwave.comMacroblocking example, (c) ssimwave.com

In this community posting here @Mohammed al Baqari is taking a deep dive into