Accelerator icon indicating copy to clipboard operation
Accelerator copied to clipboard

Give the ability to stream 200 video cameras at the same time

Open emaalouf opened this issue 3 years ago • 3 comments

This will take time, but I guess we can make it with the right infrastructure, provide 200 video cameras at the same time is amazing, let us work on this in javascript, I currently can stream up to 20, but multiplying that with 10 more times is something I look to achieve with this software.

emaalouf avatar Nov 16 '20 23:11 emaalouf

this is not so easy as it sounds, this has to do with encoding and webrtc encryption... webrtc is very cpu heavy on the server side... so you cant use it with more than 6 Cams on. If you turn it of, you need to use wasm on the client... but you only have 1 cpu / stream for decoding... so it depends a lot on your client how much is possible. But maybe we find a way around that.

cracker0dks avatar Nov 17 '20 00:11 cracker0dks

What if we had separate encoding server, maybe something with GPU encoding, to help encode the video at lightning speeds, let me know if you think that would be feasible.

Best,

emaalouf avatar Nov 17 '20 00:11 emaalouf

If you have the correct hardware you should be able to use hardware acceleration right away (if you force h264 video encoding through the config) But common codecs today are VP8 and VP9 also AV1 is coming... hardware acceleration is very bad for all of them on server hardware. The best way I see atm is client side encoding in combination with e2e described here: https://jitsi.org/blog/e2ee/ This way the server don't need to do encoding and we can use hardware acceleration on the client + some webrtc features. The problem here is that is only supported on chrome for now, that's why I didn't implemented it back than.

cracker0dks avatar Nov 17 '20 00:11 cracker0dks