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

Machine Specs #77

Open
ArturFortunato opened this issue Jan 2, 2021 · 13 comments
Open

Machine Specs #77

ArturFortunato opened this issue Jan 2, 2021 · 13 comments

Comments

@ArturFortunato
Copy link

ArturFortunato commented Jan 2, 2021

Hello! Thank you for this project, it's fantastic!

I ran it on an AWS EC2 t2.micro (1CPU, 1GB RAM) and it reaches 100% CPU usages (so it crashes). I then tried it on my machine (intel core i5 8th generation, 8GB RAM) and it works well with one RTMP input and one RTMP output, but if I add a mixer in the middle, brave crashes. Have any of you successfully tested Brave and care to share your machine's specs?

Thank you!

@PKuebler
Copy link

Hi,

with 1920x1080 rtmp streams we reaches 100% by a Digital Ocean CPU-Optimized Droplet

  • Dedicated CPU
  • 4 vCPUs
  • Ram 8 GB

with 1280x720 we reaches with 2 inputs, 1 mixer, 1 output 50% on this machine.

it's use a lot cpu power.

@removogel
Copy link

Interesting discussion, i'am thinking about EC2 pilot to.
At my local machine (i7/8550u) i can combine 3-4 streams.
Would be interesting to see if EC2-GPU helps.
On the other hand, got lots of stability issues with Brave, not shure if Cloud Deployment is really making sence.

@ArturFortunato
Copy link
Author

I tried running Brave on an AWS r5n.large instance and got 60-80% CPU usage, with very rare stability issues. It would be interesting to create a table with test results from multiple instance configurations for future reference. Are there any plans for creating a stable production version?

@ArturFortunato
Copy link
Author

Interesting discussion, i'am thinking about EC2 pilot to.
At my local machine (i7/8550u) i can combine 3-4 streams.
Would be interesting to see if EC2-GPU helps.
On the other hand, got lots of stability issues with Brave, not shure if Cloud Deployment is really making sence.

Would it make sense to use EC2-GPU instances if there are (at least from what I saw) no optimization for GPU usage in the project?

@PKuebler
Copy link

When I switch the inputs for a mixer I often have that the sound or the picture is not taken.

More CPU has reduced the problem, but it still occurs.

Thought Brave does not need a GPU? Have used CPU optimized VM's so far.

@removogel
Copy link

From a high level perspective it might work. Brave is based on GStreamer. I assume that GStreamer can use OpenGL/Vulkan or CUDA. If so, I don't know if GStreamer has to be coded differently or if a configuration is enough. The remaining final challenge would be the integration of the EC2 GPU.

@ArturFortunato
Copy link
Author

ArturFortunato commented Jan 18, 2021

From a high-level perspective it might work. Brave is based on GStreamer. I assume that GStreamer can use OpenGL/Vulkan or CUDA. If so, I don't know if GStreamer has to be coded differently or if a configuration is enough. The remaining final challenge would be the integration of the EC2 GPU.

I hope this is part of the author's plans as, for now, it seems like it's too unstable to be used in production.

I will test a load balancer with multiple powerful instances, but the price will increase drastically.

@compiaffe
Copy link

GStreamer has plenty of hardware decoders and encoders such as vaapih265enc or there is svthevcenc just to name a few. There are also encoders and decoders for the Intel Media SDK or nvidia - all depending on what hardware you have...

To my knowledge there is no vaapi support on AWS EC2, but you could of course add a NVIDA GPU. I have no knowledge though how brave selects these encoders or what it configures on them. For example the vp9enc does not perform very well for live transcoding with the default config, but configured correctly is rather useful.

@moschopsuk
Copy link
Contributor

Just to also chime in here we deploy brave to large CPU (compute) instances.

Brave uses playbin for some media which will try to use any hardware decoders.

The video mixing in brave is compositor which uses CPU for mixing. There is a GPU based element called glvideomixer which would help reduce GPU load, but we don't use it here.

@ArturFortunato
Copy link
Author

Just to also chime in here we deploy brave to large CPU (compute) instances.

Brave uses playbin for some media which will try to use any hardware decoders.

The video mixing in brave is compositor which uses CPU for mixing. There is a GPU based element called glvideomixer which would help reduce GPU load, but we don't use it here.

Interesting! Would you care to share your machine specs and the CPU usage for your use cases?

@moschopsuk
Copy link
Contributor

We use a fleet of c5.4xlarge instances.

These are usually around 50% when they are being used for events.

@ArturFortunato
Copy link
Author

We use a fleet of c5.4xlarge instances.

These are usually around 50% when they are being used for events.

And how many events (mixers) do you have in one instance? We manage to get 60-70% CPU usage for one mixer on a r5n.large

@moschopsuk
Copy link
Contributor

moschopsuk commented Feb 25, 2021

We also use a single brave mixer for each instance.

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

No branches or pull requests

5 participants