brave
brave copied to clipboard
Machine Specs
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!
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.
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.
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?
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?
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.
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.
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.
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.
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.
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 calledglvideomixer
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?
We use a fleet of c5.4xlarge instances.
These are usually around 50% when they are being used for events.
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
We also use a single brave mixer for each instance.