Is there a limit on the number of P2P streams allowed by the flash player? I've got three way video chat working and there's a message in my debug log that says: "The total stream limit for P2P streams have" and then it cuts off. I grepped the source and didn't find that warning/error message.
So I'm guessing it's about to tell me the number of streams have been reached? Beyond the fact that 3 upstream video chats is probably all most connections can handle, is this a hard limit in the player or a soft limit based on available bandwidth?
Thanks for the help.
Yes, LCCS has a limit on the number of P2P audio/video streams you can have. It is dependant on number on users as well as number of stream one user has.
You won't find any error message and it will fall back to hub/spoke.
It is not a hard limit by player though player has its own limit, but it's a limit LCCS puts based on bandwidth constraints since we deal with only audio and video P2P streams currently.
Ah ok thanks, then what's the limit calculation? I really want to be
able to do three party video chat without falling back to hub and spoke and
that's three users with 4 inbound and 4 outbound streams a piece.
If you are doing both audio and video for all three , It won't work. However, if you are doing only video then all three can share video.
So, the logic says the number of streams of any user multiplied by number of other users (except him) should not be greater than 3. So, if I am sharing both audio and video and there are two more people, then it becomes 4, which makes it fall back to hub-spoke.
Hope this helps
While we can't promise to increase it, but we will revisit this. The decision was a technical one based on the quality of A/V streams client can support and not a business one.
As you can see when many people start sharing multiple streams, it creates a mesh and has bandwidth issues that client can handle primarily because these are audio/video streams, which are quite heavy in nature.
Hope this helps
Yeah, in this case, for every user that's receiving your stream, you have
to stream separately to them. So if I'm videochatting with 3 folks, I'm
pushing 3 streams - it's a lot for most uplinks to handle (many have their
hands full with just 1).
What we could consider doing is adding an API to StreamManager, such that
you could declare the stream limit and override how much pushing you think
your users can handle.
We don't have that in the default components today, although you could extend audiopublisher and audiosubscriber (pretty easily, I'm thinking) to turn off the logic that tries to do anything p2p.
I am getting this error when connecting two(2) endpoints: "The total stream limit for P2P streams have ". They are the only two users logged into the room and each are streaming camera and audio. Using the calculation as suggested (2 streams x 1 other user = 2 ) I should be within the permitted number of P2P streams yet my application continues to fall back to Hub & Spoke no matter what I try.
Any guidance would be helpful.
Though I am not sure why this is happening, and if there is there some zombie or not. However, you can set streamManager.maxP2PStreamPublish yto a higher value and you should be fine.
OK I'll keep a eye out for any zombies... got my shotgun handy just in case.
I raised the max number and then received this error: "Peer to peer connection failed and timed out in Camera for user *****" What conditions can cause this error? It seems as thgouh the two points cannot see eachother via P2P...
These units are on the same router. Shouldn't the P2P traffic, once a handshake is established, only traverse the router since that is the shortest possible P2P distance or am I missing something?