-
Notifications
You must be signed in to change notification settings - Fork 118
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: Latency measurements such as sender to receiver latency measurements using RTP header extensions abs-capture-time and video-timing #425
Conversation
…ld by only installing relevant playwright browsers.
… before starting the stream
Based on this: https://github.com/EpicGamesExt/PixelStreamingInfrastructure/actions/runs/13026995654 @mcottontensor Landing this PR would require new |
run: npm install && npm run build | ||
|
||
- name: Clean build of frontend implementation as ES6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added this step to the CI, as this was actually broken and not being caught.
tag: 'minimal-streamer' | ||
fileName: 'Minimal-PixelStreamer-5.5.7z' | ||
tag: 'minimal-streamer-5.5' | ||
fileName: 'Minimal-PixelStreamer-5.5-Win64-Development.7z' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upgraded to using our latest minimal streamer release, as the other one was a bit out of date now.
|
Merged master in now.
|
@mcottontensor When we go to cut a new version from this, there is some API breakages due to some changing of stats casing. So I think we have bump the major version number. |
Do we want to do a full release? Or just common and the frontend libs? |
💔 All backports failed
Manual backportTo create the backport manually run:
Questions ?Please refer to the Backport tool documentation and see the Github Action logs for details |
Add: Latency measurements such as sender to receiver latency measurements using RTP header extensions abs-capture-time and video-timing (cherry picked from commit 063ca4f)
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
[UE5.5] Merge pull request #425 from EpicGamesExt/capture-time
'Enables the abs-capture-time RTP header extension', | ||
settings && Object.prototype.hasOwnProperty.call(settings, Flags.EnableCaptureTimeExt) | ||
? settings[Flags.EnableCaptureTimeExt] | ||
: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, is it voluntary to enable this by default ? It breaks compatiblity with not up to date Chrome/Chromium browser.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rlamarche Thanks for reporting, I have put together a PR: #516
Relevant components:
Problem statement:
Adds optional abs-capture-time RTP header extension to the negotiated SDP (only works with Chromium+audio as of now). Additionally use the video-timing header extension (only works in Chromium+video as of now) to get video statistics from both sender and receiver time including: encoding delay, packetizer delay, pacer delay.
Solution
abs-capture-time
to RTP header extensionNote: these only show up in supported browsers - that is, much of this does nothing on Firefox because many of these code paths are completely skipped on Firefox.
Documentation
N/A - The flag is enabled by default and not exposed to the UI. It should be a transparent change to user and should not need configuration.
Test Plan and Compatibility
All unit tests, playwright tests, and CI have been updated accordingly (this was tricky as testing revealed Firefox refuses to connect if this flag there are too many header extensions so this is carefully skipped on Firefox).