What is it? #5
netham45
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
tl;dr: What it is:
ScreamRouter
I've been working on ScreamRouter (https://screamrouter.net/) for quite a while now, I've learned a ton about a lot while doing so.
At the core the backend is a C++ Python extension that allows python to configure routes and set up mappings/configuration while the backend handles mixing/equalization/etc... in C++ for speed. It is a many to many source to sink router that can handle things such as stream duplication to multiple sinks. I've currently got it working with RTP streams.
On top of that is a FastAPI interface that provides a REST API for configuring and using the backend. This is also where the configuration is saved to disk and reloaded, and things such as mDNS discovery are handled.
https://i.imgur.com/YCAMXPR.png
Then for the frontend I am using ReactJS. I also have MP3 streams the user can listen to, as well as the ability to send low latency streams to browsers over WebRTC/Opus so basically anything with a modern browser can act as a sink for it.
https://i.imgur.com/dBR83HW.png
esp32-rtp
This is an evolution of what started as a satellite receiver for ScreamRouter. It has evolved into a standalone RTP source/sink that also still works with ScreamRouter.
https://i.imgur.com/7ZVX4C2.png
It can
It currently has mDNS discovery for other esp32-rtp devices as well as the ability to join multicast SAP streams, and it can advertise SAP streams to receivers such as PulseAudio, PipeWire, and VLC.
Windows App
I have developed a Windows app for ScreamRouter. It puts an icon in the start menu that allows user control of ScreamRouter. It is also capable of capturing both application-level and system-wide audio from Windows, as well as acting as a ScreamRouter sink as a playback destination.
https://i.imgur.com/YRQIhxC.png
Android App
I've made an Android app using a protocol I am in the process of shifting away from (Scream) that can act as a sink for playback. Capture/Source is not possible at this time.
Various other sources
I've also got various other sources for ScreamRouter, including:
PCB
I've developed a PCB that has
https://i.imgur.com/a6aUhF4.png
This PCB works with esp32-rtp to provide a wide array of solutions from portable listening to home stereo integration
Future plans
Beta Was this translation helpful? Give feedback.
All reactions