Comments (7)
Sure, I am working on global-gateway so I will update README after that finished. In short, you can try the media-server in cluster mode in local machine like bellow:
Start a inner-gateway (which used to route connect request to best node)
RUST_LOG=info cargo run --package atm0s-media-server -- --node-id 1 --http-port 3000 gateway
Start first media-server with Webrtc protocol
RUST_LOG=info cargo run --package atm0s-media-server -- --node-id 2 --http-port 3001 --seeds /p2p/1/ip4/127.0.0.1/udp/50001 webrtc
Start second media-server with Webrtc protocol
RUST_LOG=info cargo run --package atm0s-media-server -- --node-id 3 --http-port 3002 --seeds /p2p/1/ip4/127.0.0.1/udp/50001 webrtc
Wait 2 media-server utils it print out (around 10 seconds): '[WebrtcMediaServer] ping gateway success'.
In each seconds, each node also print out routing table look like:
2023-12-14T02:28:47.861441Z INFO atm0s_sdn_layers_spread_router::router: [Router 1] dump begin
2023-12-14T02:28:47.861515Z INFO atm0s_sdn_layers_spread_router::table: [Table 1/3/0] slots: []
2023-12-14T02:28:47.861581Z INFO atm0s_sdn_layers_spread_router::table: [Table 1/2/0] slots: []
2023-12-14T02:28:47.861648Z INFO atm0s_sdn_layers_spread_router::table: [Table 1/1/0] slots: []
2023-12-14T02:28:47.861716Z INFO atm0s_sdn_layers_spread_router::table: [Table 1/0/1] slots: [1,2]
2023-12-14T02:28:47.861749Z INFO atm0s_sdn_layers_spread_router::router: [Router 1] dump end
Now you can access sample page in url: http://localhost:3000/samples/webrtc/ in there we have 2 page: Whip broadcast and Whep viewer.
Note that, inner-gateway will select node based on usage so it will route to same media-server instance util it reach high usage. For testing media-exchange between system you can access to each media-server instance sample page like:
First media-server: http://localhost:3001/samples/
Second media-server: http://localhost:3002/samples/
Each node also expose a metric dashboard here:
- Gateway: http://localhost:3000/dashboard/
- Media1: http://localhost:3001/dashboard/
- Media2: http://localhost:3002/dashboard/
from atm0s-media-server.
How great this project is
your instructions make it so easy to get them run as what you showed and everything goes very well
from atm0s-media-server.
From the features in the readme I found that desktop sdk is not in the list. But I learned that desktop is in great need for some users or developers. So will you give it consideration like https://github.com/livekit/rust-sdks what they are doing?
from atm0s-media-server.
Do you have any plan so people who want to contribute to this project they will know what to do and how to get started?
from atm0s-media-server.
@Yosef0987 Actually I already have and old private Rust-SDK which used webrtc-rs so it take time to make it public. I have plan implement Rust-SDK with str0m instead for benchmarking and server/desktop integration.
We are only in-depended small-team with limited resource so I am very happy if anyone can join with us. In current state I don't have effort to write a details dev-guide but feel free to ask any question I will answer as soon as possible. May be that answers can be collect to be a dev-guide in future.
Ps: I just updated expired discord link in README
from atm0s-media-server.
You guys have done great job.
It is so nice your team open the source code to the public.
I will be very glad to see where I can contribute to it or give any feedback.
from atm0s-media-server.
@Yosef0987 Sorry I missed your reply, we are actively refactor for making it more clean architecture. I will be very glad too with your help.
from atm0s-media-server.
Related Issues (20)
- Failed to connect with Safari browser HOT 1
- Inner/Local Gateway: pinging global gateway should be optional HOT 1
- github action don't run when new release created HOT 1
- Deploy multi zones cluster HOT 5
- Write user Docs HOT 1
- Write Contributor Docs HOT 1
- RFCs write up HOT 2
- Refactor SDKs HOT 1
- Public Samples HOT 1
- Global Cluster Demo: US, Asia, EU HOT 1
- Beta: React Native SDK HOT 1
- Beta: Benchmarking Webrtc, Whep HOT 1
- Missing "mix_minus" audio events HOT 1
- webrtc/connect API does not return anything other than statusCode when error
- Missing "local_stream_{remoteId}_*" events: state, audio_level, quality HOT 1
- Main Features Stability HOT 1
- Multi Tenancy Feature HOT 1
- Connector fire events with HTTP endpoint
- Missing connector HTTP docs HOT 1
- [feat] Recording feature HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from atm0s-media-server.