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

Add requirements for low latency streaming use cases #75

Merged
merged 10 commits into from Oct 15, 2022
Merged

Add requirements for low latency streaming use cases #75

merged 10 commits into from Oct 15, 2022

Conversation

aboba
Copy link
Collaborator

@aboba aboba commented Sep 5, 2022

This is an attempt to add requirements for low latency streaming use cases.
The requirements for game streaming and other low latency streaming uses cases are somewhat different, so they each have their own section.

Partial fix for #62


Preview | Diff

@aboba aboba changed the title Add requirements for low latency streaming use case Add requirements for low latency streaming use cases Sep 5, 2022
@aboba
Copy link
Collaborator Author

aboba commented Sep 5, 2022

@fippo PTAL.

@drkron
Copy link

drkron commented Sep 6, 2022

Thanks @aboba!
I think that this is a great initiative.

What do you think of adding another requirement regarding reduced jitter buffer on the receiving client?

Copy link
Collaborator

@fippo fippo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, I like the distinction between game streaming (ultra low latency streaming with less than 100ms latency, this shows some numbers) and low latency streaming (sub-second)

In terms of requirements for gaming I can think of two:

  • control how data is sent out over the datachannel, since you want keyboard or mouse movements to be prioritized over statistics. This actually provides a solution
  • control over jitter buffer and rendering delay. @drkron may be able to help out with that one

@drkron
Copy link

drkron commented Sep 6, 2022

The control of jitter buffer and rendering delay could be generalized to a Quality-of-Service API, where latency is traded for the perceived smoothness (dropped frames, freezes, etc).

@aboba aboba removed the request for review from pthatcherg September 7, 2022 05:06
@aboba
Copy link
Collaborator Author

aboba commented Sep 7, 2022

@fippo @drkron Added the jitter buffer/rendering control requirements.

@aboba
Copy link
Collaborator Author

aboba commented Sep 12, 2022

Comments from TPAC 2022:
1. For both use cases: RTCDataChannel in Workers.
2. For game streaming: Streaming input from GamePad via a worker.
3. For game streaming: Streaming input from AR/VR headsets (via RTP?).

@aboba aboba merged commit 9e55b1f into w3c:main Oct 15, 2022
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

3 participants