Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

suggestions for a simple 1:1 video chat service

Avatar

Level 3

Hi,

We are running an xmpp based web chat.

We have created an app that adds video chat service using stratus and we want to port it to LCCS.

I've read the docs but still not sure what is the easiest way to implement what we have working with stratus.

When two users wants to start a private video chat, XMPP handles the handshaking and pass nearID of the users.

Each user publish and subscribe to the other and the video chat begins.

Each user allow only for the known nearID to subscribe to its stream.

LCCS is powerful but it seems like it complicates this simple scenario.

In our case we don't need all the users to be in the same room and manage the room roster because it's just a waste of messages.

Do I need to create a room with a guid for each pair of users?

Can I configure the room to be destroyed automatically when the users leaves it? It's possible in XMPP muc protocol.

Can the users all be guests or do I need to authenticate them for this setup?

Can a user be logged in without being in a room?

Is it possible to disable failover to rtmp and only allow rtmfp? I saw several questions about it but no definite answer.

In our case rtmp is not an option because we won't be able to survive the costs.

Thanks

3 Replies

Avatar

Level 4

Dan,

We do something pretty similar to what you are talking about. We

started from Stratus with an XMPP backend and now we use LCCS as our video

service. The main change was switching to rooms instead of passing IDs.

So now if a user initiates a call the client connects to our server and uses

the server side apis to create a room and then we use XMPP to share the room

name. Then both parties join the room to meet up. We reuse our rooms but

I suppose you don't have to.

It is possible to disable failover, and I'm pretty sure there are some

threads about it on this forum. We authenticate our users, but thinking

about it I don't think you have to. If our authentication method just

returned true all the time I suppose every one would be a guest It

works pretty well, there are few things missing we wish we had but it's not

a bad solution and we have it out in the field with some pilot users.

Good Luck,

-Eric

Avatar

Level 3

I've read that in the latest LCCS release there is a support for lobby rooms and private streams.

Is it possible to use it so server-to-server communication and dynamically creating a private room for pair of users is not required?

I've searched for docs or info about lobby rooms and private streams but wasn't able to find any.

Thanks

Avatar

Employee

Hi Dan,

For private streams, please refer to PrivateStreamTest sample app in the SDK's sampleApps directory. Both the Audio and the WebcamPublisher have a property called recipientIDs that would help in achieving private streams.

And as you mentioned, it is possible to use the SDK's server-to-server api's and have a lobby style room where users would meet and then dynamically create new rooms and manage them. You can again find many samples in Server2Server location inside the SDK's sampleApps directory.

We are currently improving our docs and samples, and please feel free to offer your feedback.

Thanks

Arun