Git Product home page Git Product logo

Comments (7)

giangndm avatar giangndm commented on May 22, 2024

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/

Screen Shot 2023-12-14 at 09 44 18

Each node also expose a metric dashboard here:

image

from atm0s-media-server.

Yosef0987 avatar Yosef0987 commented on May 22, 2024

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.

Yosef0987 avatar Yosef0987 commented on May 22, 2024

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.

Yosef0987 avatar Yosef0987 commented on May 22, 2024

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.

giangndm avatar giangndm commented on May 22, 2024

@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.

Yosef0987 avatar Yosef0987 commented on May 22, 2024

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.

giangndm avatar giangndm commented on May 22, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.