camuschat/camus

Deploy to Heroku

ccns1 opened this issue · 5 comments

ccns1 commented

Any help or tutorial?

Thanks in advance

mrgnr commented

Hi @ccns1, thanks for your question. I'm actively looking into this and should have support for Heroku in the coming days.

ccns1 commented

Hi @mrgnr ,

Thanks for reply. For me; Only one script is working on Heroku ( https://github.com/Neos21/webrtc-video-chat ) maybe it will be helpful for you.

Also, I have next question; Is it possible in your script set-up only one way streaming to many?

Thanks.

mrgnr commented

@ccns1 Heroku support has been added. To deploy, click this button

Deploy to Heroku

or see the deployment docs for manual deployment instructions.

Regarding your question, there's not really a good way to do one-to-many broadcasting. WebRTC is a peer-to-peer protocol, so every user sends a copy of their stream to every other user. So for example, if there were 100 people in a room and only one of them was streaming, there would be 99 copies of that stream being sent to the other users.

ccns1 commented

@mrgnr first of all thank you for Heroku deploy template, it is working fine!

Is it possible to implement RTCMultiConnection library ( https://github.com/muaz-khan/RTCMultiConnection ) in your script?

Or edit script that only one streamer will be able to broadcast to many? Thanks.

mrgnr commented

@ccns1 Sorry for the delay in replying. Glad to hear that Heroku is working for you!

I took a look at RTCMultiConnection and it seems to use a sort of mesh networking to forward media streams between clients. I think this is an interesting idea, but there will always be trade-offs between bandwidth usage and latency since WebRTC is inherently a peer-to-peer protocol. An alternative solution would be to implement a selective forwarding unit (SFU) to forward streams from the server to connected clients. For the 0.2 release, I'm focusing on improving and adding features to the user interface. I'll be thinking more about client scalability for the 0.3 release.

Since the original issue (Heroku) has been addressed, I'll go ahead and close this issue. Nevertheless, thanks for your interest in the project and feel free to open another issue if you wish to discuss anything further! :)