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

Live player fixes #13143

Merged
merged 16 commits into from
Aug 17, 2024
Merged

Live player fixes #13143

merged 16 commits into from
Aug 17, 2024

Conversation

hawkeye217
Copy link
Collaborator

@hawkeye217 hawkeye217 commented Aug 17, 2024

  • Fix MSE player falling behind actual live when network conditions are not perfect. Safari/iOS will jump ahead (setting playbackRate causes Safari/iOS to re-buffer), all other browsers will dynamically increase playback rate based on a rolling average of buffer time.
  • Fix bug where streams would not fall back to WebRTC if MSE failed, leaving users with an endless activity indicator. User must explicitly have candidates defined in their go2rtc config for fallback to occur. If WebRTC is configured but fails, fallback to jsmpeg occurs. This particular behavior is for single camera live views only. Dashboard cameras streaming MSE will always fall back to jsmpeg to preserve bandwidth.
  • Refactor useCameraLiveMode hook to reset intelligently selected live mode back to default when camera goes inactive if the mode was changed because of an error during playback

This code has been tested by users and found to work well. It resolves the issues in #13064, #13126, and #13047

Copy link

netlify bot commented Aug 17, 2024

Deploy Preview for frigate-docs canceled.

Name Link
🔨 Latest commit b256301
🔍 Latest deploy log https://app.netlify.com/sites/frigate-docs/deploys/66c0e561017fe90008bd4730

@NickM-27 NickM-27 merged commit 8c23ede into blakeblackshear:dev Aug 17, 2024
10 checks passed
NickM-27 pushed a commit that referenced this pull request Aug 30, 2024
* Jump to live when exceeding buffer time threshold in MSE player

* clean up

* Try adjusting playback rate instead of jumping to live

* clean up

* fallback to webrtc if enabled before jsmpeg

* baseline

* clean up

* remove comments

* adaptive playback rate and intelligent switching improvements

* increase logging and reset live mode after camera is no longer active on dashboard only

* jump to live on safari/iOS

* clean up

* clean up

* refactor camera live mode hook

* remove key listener

* resolve conflicts
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.

2 participants