Skip to content

[MAJOR] Next-generation web interface and direct WebSocket support #183

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

Draft
wants to merge 122 commits into
base: main
Choose a base branch
from

Conversation

ehfd
Copy link
Member

@ehfd ehfd commented May 26, 2025

Reference the issue numbers and reviewers

Responsible: @ehfd @thelamer @PMohanJ

Main Issue aiming to solve:

Issues and PRs to be solved (only close when this PR has been merged and code is present in main, not before that):

Web/Interface:

Code quality and performance:

  • Reduce reliance on external libraries / certain upstream packages are unmaintained #85
  • system_metrics.py has a lot of things to be optimized using asyncio coroutines instead of the large blocks of for loops.
  • Integrate asyncio coroutines rigorously across the whole backend code.
  • Code duplicates between start_ws_pipeline and build_webrtcbin_pipeline, etc. in gstreamer_pipeline.py, most of these can be merged.
  • Most constants defined in the backend code should be argparse options. Hard-coding is discouraged.
  • Fix behavior of selkies-gstreamer-resize = "selkies_gstreamer.resize:entrypoint" in pyproject.toml.

Input:

WebRTC:

Media:

CI/CD or Maintenance:

Explain relevant issues and how this pull request solves them

New updated web interface and direct WebSocket support, with other improvements.

Describe the changes in code and its dependencies and justify that they work as intended after testing

New updated web interface and direct WebSocket support, with countless other improvements.

thelamer added 30 commits March 31, 2025 11:55
…de, establish messaging bus for websockets mode, add dumping and sending of system stats for websockets, add mode change logic to change settings on the fly
…io pipelines, change behavior so when the page is hidden we stop the video pipeline but keep audio running if it is
@ehfd ehfd changed the title New web interface and direct WebSocket support [MAJOR] New web interface and direct WebSocket support May 26, 2025
@ehfd ehfd changed the title [MAJOR] New web interface and direct WebSocket support [MAJOR] Next-generation web interface and direct WebSocket support May 26, 2025
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.

4 participants