Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix quality issues with SVC screenshares. #1077

Merged
merged 4 commits into from
Mar 15, 2024
Merged

Conversation

davidzhao
Copy link
Member

@davidzhao davidzhao commented Mar 15, 2024

When we munged SDP to set bitrate, it was set on the codec's fmtp line.
The codec and its fmtp is shared across media tracks. So if a user is sharing
a camera and screenshare tracks, both tracks will be published at the
same bitrate (typically the user's camera track). This leads to blurry
screenshares.

Previously this was set because AV1 took a long time to start up. So we are
keeping that behavior only for AV1. I've confirmed that VP9 does not suffer
from the slow-start.

Additionally, screenshares cannot be encoded in SVC with L3T3_KEY. Chrome
degrades quality aggressively whenever L1T3 isn't used.

When we munged SDP to set bitrate, it was set on the codec's fmtp line.
The codec and its fmtp is shared across media tracks. So if a user is sharing
a camera and screenshare tracks, both tracks will be published at the
same bitrate (typically the user's camera track). This leads to blurry
screenshares.

Additionally, screenshares cannot be encoded in VP9 with L3T3_KEY. Chrome
degrades quality aggressively whenever L1T3 isn't used.
Copy link

changeset-bot bot commented Mar 15, 2024

🦋 Changeset detected

Latest commit: da7e6ee

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
livekit-client Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

size-limit report 📦

Path Size
dist/livekit-client.esm.mjs 82.04 KB (-0.08% 🔽)
dist/livekit-client.umd.js 87.55 KB (-0.08% 🔽)

@lukasIO
Copy link
Contributor

lukasIO commented Mar 15, 2024

nice findings!

@davidzhao davidzhao merged commit a65eacc into main Mar 15, 2024
3 checks passed
@davidzhao davidzhao deleted the fix-svc-publishing branch March 15, 2024 10:25
@github-actions github-actions bot mentioned this pull request Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants