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

obs-webrtc: Enable PacingHandler #10966

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Sean-Der
Copy link
Contributor

Description

Adds packet pacing to WebRTC output.

Motivation and Context

Pacing reduces the amount of packet loss for users. Spreading bursty content over a larger window.

How Has This Been Tested?

This isn't a problem that I have personally. I also haven't set up network simulations that exhibit the behavior either.

WHIP output users have reported they have a better experience with this. I will have them report their results in the thread.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@ProudlyTM
Copy link

Me and a friend of mine both had unexplainable artifacts and/or freezes (depending on the Encoder settings) when streaming to WHIP, but that patch seems to have gotten rid of the issues for both of us!

I can only say a big thanks @Sean-Der for the fix!

@RytoEX RytoEX added the Bug Fix Non-breaking change which fixes an issue label Jul 11, 2024
@RytoEX
Copy link
Member

RytoEX commented Jul 11, 2024

How severe/urgent/widespread is this?

@Sean-Der
Copy link
Contributor Author

I don't believe it is very wide spread. I implemented it 3 months ago because I hoped it would help users. In those 3 months I have gotten two reports that it helped.

I think it would be good to wait for 31.

@leodog256
Copy link

It fixed long freeze. But there is still skip of a frame every like x seconds when there is not that much movement on the screen (Only in some games that i tested).

@tt2468
Copy link
Member

tt2468 commented Jul 31, 2024

Would it be possible for libdatachannel to rolling average the incoming packet data bitrate and pace off of that? That's what libsrt does, and it seems to work quite well. It means that different forms of rate control can be used.

@Sean-Der
Copy link
Contributor Author

@tt2468 Can do! I will make the window size user adjustable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Fix Non-breaking change which fixes an issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants