These are chat archives for andyet/SimpleWebRTC

11th
Sep 2017
Type-40
@Type-40
Sep 11 2017 01:09
Is there a listener for when a user connects rather than add video. I have users who will be silent observers, but right now they are too silent XD when they join the room the add video listener does not trigger and therefor no one knows they are in the room ...
?
Type-40
@Type-40
Sep 11 2017 01:39
I tried on created peer... but it doesnt send the users nick
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:40
Simple WebRTC is a little crap which permit you to do something like Skype: one to one video conversations.
What the fuck is so complicated to understand?
Ghost users? 15 ways video conferences?
You guys fantasize too much!
Type-40
@Type-40
Sep 11 2017 01:43
excuse me, I'll just write a work arround, sorry to ask, just thought that if someone was going to implement a function they would see it all the way through,,, you know, because on created peer does in fact exists,,, also ghost users are advertised in there original documentation
anyways, i ll go elsewhere for advice, thank you luckycyborg for making this an informative and resource friendly forum.
by that i mean your kind of a dick
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:44
I guess that I am rather a realistically guy... ;)
Type-40
@Type-40
Sep 11 2017 01:44
i ll have what i want running in the next 20 minutes, so your realism may be a bit off.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:45
I will happy for you to get what you want in 20 minutes! :+1:
BUT, life learned me that trying to build enterprise things in top a little scripts is unrealistic.
BTW, do you know that Simple WebRTC does NOT implement presence rooms?
That's what you need for your ghosting.
BUT, it does not exists here.
Go Pusher, or other enterprise ready solution and you would be happy!
Type-40
@Type-40
Sep 11 2017 01:50
I already have ghost users running, the only thing is on addvideo doesnt trigger... soooo maybe you should try and understand what you are talking about before you start acting all high and mighty.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:51
I am not all mighty, I am just a guy who understand that here is no free lunch. ;)

I already have ghost users running, the only thing is on addvideo doesnt trigger...

You know what is the presence room concept?

A room where users join in a certain way, to signal their presence?
That's WHAT you need.
Type-40
@Type-40
Sep 11 2017 01:53
its fine man, its done,
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:53
Perfect!
;)
Type-40
@Type-40
Sep 11 2017 01:54
p.s. https://simplewebrtc.com/notsosimple.html Scroll down until you are at the point they stopped documenting, first empty piece of documentation ... its been implemented since then.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:56
They made this? Join without a camera or microphone?
Nice! ;)
Type-40
@Type-40
Sep 11 2017 01:57
the point is, on createdpeer does not include the nick property, all i was asking if this was intentional or if it existed somewhere else.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 01:59
Well, from what I seen, the SWRTC is rather rudimentary about additional metadata, or datachannels.
Type-40
@Type-40
Sep 11 2017 02:00
normally, I use a work arround by sending an object as the nick instead of a simple nick.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:01
In fact, that's the single way to mess around the framework limitations... ;)
Type-40
@Type-40
Sep 11 2017 02:02
well, I have modified the framework to suit my needs in several parts, so if something goes wrong with changing the an optional variable used for identifying users, its the least of my worries.
you know, a simple "i dont know what i am talking about" or "I dont know if that property exists" would have been suitable.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:03
BUT, still you cannot create a proper presence channel just with this. Maybe you had to add another changes.
Type-40
@Type-40
Sep 11 2017 02:04
Why re-invent the wheel ? I have listeners telling me when peers join.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:05

you know, a simple "i dont know what i am talking about" or "I dont know if that property exists" would have been suitable.

Guess what? One year ago I started to mess with this framework, hopping to obtain a shiny presence channel and so on... ;)

Why re-invent the wheel ? I have listeners telling me when peers join.

IF they are enough for you, all is good! :+1:

Type-40
@Type-40
Sep 11 2017 02:06
so why didnt you just tell me "that property doesnt exist" instead of "look at all these idiots asking questions on a questions forum" ?
p.s. based on your posts to the last person who asked questions, I am quite literally and academic level web programer.
I was looking for a quick reply because i was lazy, not some shit who thinks he is king of simple webrtc.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:09
I am not a king of Simple WebRTC, rather a simple user, who in the past hoped too much from simple scripts. ;)
Type-40
@Type-40
Sep 11 2017 02:11
So make something better ?, why troll around this place.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:11
Oh, and our knowledge levels I do not think that they can be measured in a mere chat.

So make something better ?, why troll around this place.

So, why you expect someone to think for you, instead to do your job?

Type-40
@Type-40
Sep 11 2017 02:11
i honestly dont care about measuring anyones knowledge levels, especially not yours.
LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:12
The reverse apply, you know?
BTW, I had for several years as research theme the creation of a video-conference over WebRTC. So, I know well its limitations.
Type-40
@Type-40
Sep 11 2017 02:14
so why bring it up ? I simply asked a question, you acted like a dick.
I think saving time by asking someone who knows a framework better than me is not a horrible thing.

anyways, i really dont have time to be having a conversation with some troll. I just feel bad for whom ever else comes here looking for advice.

good luck, and maybe try and find something better to do with your time then searching the internet for people to feel better than.

LuckyCyborg
@LuckyCyborg
Sep 11 2017 02:30
Good luck! And is rather disappointing about this conversation evolved. A lesson for me to "leave" the people to dream as they want... ;)
All the best!
Type-40
@Type-40
Sep 11 2017 03:00
On a more productive and constructive note and incase anyone is searching.
on connectedpeer's peer data is not populated right away. nick does exists.
Augusto Russo
@arcifius
Sep 11 2017 12:43
Thanks for replying my question... I'm kinda new to this framework (6 months +/-) and I didnt knew that the protocol or framework wasnt suitable for conferences bigger than 5 users... despite ppl that dont want to share information and prefer to rush into a unexplicable rage you guys clarify some points for me, tyvm <3
LuckyCyborg
@LuckyCyborg
Sep 11 2017 13:53
@arcifius Look, let's compute the limitations on a video-conference over WebRTC...
First of all, how many WebRTC connections can open a page on Firefox or Chrome? After much searching I discovered its max: 256
Now, a video-conference is a typical design of full-mesh network. What is it?
Augusto Russo
@arcifius
Sep 11 2017 13:55
something like p2p
but users are connected between them in a full-duplex way, right?
LuckyCyborg
@LuckyCyborg
Sep 11 2017 13:57

Yep. ;)

How many connections you need to connect to a peer, for video-conference? you have to connect to signaling server (1) to send audio and video (2) and to receive audio and video (2)

A roughly calculation says you can do a mesh of 63 peers (including you).
OK?
Augusto Russo
@arcifius
Sep 11 2017 13:58
well thats nice, I will use at max 30 slots
LuckyCyborg
@LuckyCyborg
Sep 11 2017 13:58
Now, what bandwidth you need?
Basically, for a fluent 640x480 video-stream you need 3.5Mbps
BUT, you send video to 62 others, right?
Augusto Russo
@arcifius
Sep 11 2017 14:00
Yeah, considering the worst case
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:00

We talk on max numbers there, OK?

So, that's 217Mbps for upload. Same for download.

Also, every computer from mesh should support this bandwidth.
Augusto Russo
@arcifius
Sep 11 2017 14:01
Too expensive, it really wont work
so my app is broken cuz with 10 users the bandwidth isn't supported, right?
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:03
Now come the sucking facts: for every video stream sent, it will be independent encoded in H264 and sent to the named peers, because the stream parameters are negociated per peer.
Augusto Russo
@arcifius
Sep 11 2017 14:04
Quick question: I'm using audio only, it changes something or the flow is the same?
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:04
Your computer should be powerful enough to encode simultaneous 62 videos (let's ignore the audio)
BUT also to decode 62 others.
Add there the audio streams, 62 up, 62 down
Augusto Russo
@arcifius
Sep 11 2017 14:07
in my specific case i will have only audio streams and a limit of 30 ppl in a room, but still seems a large bandwidth will be consumed
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:07
SO, on my experiments, using 8 cores CPUs (Buldozers) and in Romania (where is 1Gbps network) I managed to go up to only 20 ways stable video-conference, with the CPUs fully loaded.

in my specific case i will have only audio streams and a limit of 30 ppl in a room, but still seems a large bandwidth will be consumed

You consider that the upload/download bandwidth of your peers would support 30 connections? And they have powerful enough computers to encode/decode 60 audio streams, every one?

Augusto Russo
@arcifius
Sep 11 2017 14:10
not always :S Can you point me another direction to study/follow ?
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:10
Now, I tell you how the big boys do video-conference: they use an media server.

So, every peer connect to media server, where they send audio and video, then it compute the final stream, and send this back. This way you have signaling + 2 up + 2 down (to encode/decode).

Feel different, right? ;)

I for one, I suggest you to study the BigBlueButton.
Augusto Russo
@arcifius
Sep 11 2017 14:14
Yeah seems much better and probably will solve my issues
I'll analyse bigblue and well... throw away almost all of my work untill now
but thanks a lot for your time and patience, I really appreciate
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:16

Look, years ago, also myself I dreamed about WebRTC video-conference.

Looks fun, right? Some javascript and you are King of World. But the reality sucks.

Because you cannot do it properly on high number of peers, with the current hardware. ;)

Augusto Russo
@arcifius
Sep 11 2017 14:18
Agreed, not only hardware but bandwidth will also be a problem in my case
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:19
Yeah, both of them would bite your hand, when you try video-conference over WebRTC. ;)
OK, the BigBlueButton is specially made for education, and myself I arrived to use it because I was interested in e-Learning.
BUT, overall, it is a very nice implementation of video-conference over a media server.
Yet, to bear in mind that the media server should be hosted in powerful hardware, if you do not want to overload the server via encoding and decoding streams.
Augusto Russo
@arcifius
Sep 11 2017 14:23
Okay, got it... I'll host it in other server so the app will be okay
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:24
:+1:
Hope that I managed to clarify the things for you... ;)
Augusto Russo
@arcifius
Sep 11 2017 14:25
Totally! I'm sure days of researching wont give me all those valuable information you gave me
I will spend some time studying bigblue arch, again, thanks for your time and patience
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:27
No problem! ;)
LuckyCyborg
@LuckyCyborg
Sep 11 2017 14:53
BTW, if you feel the BigBlueButton too specialized you have also anther shiny media-server implementation there: https://jitsi.org/jitsi-videobridge/
But, personally I preferred the Big Blue... ;)
Augusto Russo
@arcifius
Sep 11 2017 15:25
nice i will check both