Expand my Community achievements bar.

SOLVED

Help please, Does LCCS offer the same functionality as Adobe Stratus? How?

Avatar

Level 1

I found in FAQs:


Does LCCS offer the same functionality as Adobe Stratus?
Yes.  LCCS offers the same technology as Stratus today for P2P audio/video streaming.  LCCS also offers a developer framework and hosted service designed for real-time collaboration as well as the ability and option to connect RTMP connections with RTMFP clients.


The question is how can connect my existing application in Stratus with te LCCS?


I don't want use de LCCS framework, i only want to use the RTMFP protocol like the Video Phone Stratus Sample, but in a commercial product, it is possible in LCCS?

So, if it's possible, where i have to point my stratus connectUrl and developer key in a LCCS service?

thanks a lot.

1 Accepted Solution

Avatar

Correct answer by
Level 4

Hey elattanzio, I went through the same thing you're going through when I first tried to get started with LCCS.   I wanted to create a peer 2 peer connection between two flash applications with no server involved.   I was also moving over from the Stratus example to LCCS.

The short answer is LCCS alwasy uses rooms to connect people.   You can make a direct peer to peer connection by using rtmfp in your application.   In that case first your users connect to a room on the LCCS servers, and then they help you coordinate the rtmfp peer to peer connection like you were using with Stratus.   So you end up with all of your data flowing between the two clients, but both clients stay connect to the room in the LCCS service.  Your clients must stay connected to LCCS for the duration of the video call.    Now if your clients can't make a connection because of NAT, firewall, or other issues they will fall back to rtmp and all traffic will now route through the LCCS servers.   You can specify that you do not want your client to fall back though.

Another important thing to understand is the pricing model.   There is a cost associated with just being connected to the LCCS servers.   We found it to be nominal though, but just enough to discourage you from staying connected all the time.   This pushed me to develop our own precense system based on jabber, to see who was online and to initiate calls etc.   Second the cost for say video and audio traffic being routed through the LCCS servers was too high for our business model so we chose to not allow fall back to rtmp.  I think the cost was reasonable based on bandwidth costs etc, our model just couldn't support it.

So there you go that's my understanding of things as I've agonized over how to get good video chat working in our application.   Yeah peer to peer is not 100% free, but the cost is not too bad and you get the benefits of Adobe running a cluster of servers for you.   So for us the value was there.   Good luck with the project.

-Eric

View solution in original post

5 Replies

Avatar

Former Community Member

Hi Elattanzio,

   In order to get audio/video streaming, you need to use an AudioPublisher/AudioSubscriber or WebcamPublisher/WebcamSubscriber. We support the same functionality of P2P streaming (as well as a lot more), but you don’t build your app the same way – your connectURL and dev key don’t work there. You’ll need to sign up for an LCCS dev account at afcs.acrobat.com, and build a room.

You don’t have to use full Flex, but you do have to use the basics of the LCCS framework. This is nothing too difficult - compile this with the flash-only player 10 swc, and run it in 2 browsers, and you've got P2P webcams. Hope it helps :

package {
     import com.adobe.rtc.authentication.AdobeHSAuthenticator;
     import com.adobe.rtc.collaboration.WebcamPublisher;
     import com.adobe.rtc.collaboration.WebcamSubscriber;
     import com.adobe.rtc.events.SessionEvent;
     import com.adobe.rtc.session.ConnectSession;
     
     import flash.display.Sprite;

     public class FlashOnlyTest extends Sprite
     {
          public function FlashOnlyTest()
          {
               var cSession:ConnectSession = new ConnectSession();
               cSession.roomURL = "YOUR_ROOM_URL";
               var auth:AdobeHSAuthenticator = new AdobeHSAuthenticator();
               auth.protocol = "rtmfp";
               auth.userName = "YOUR_USER_EMAIL";
               auth.password = "YOUR_PASSWORD";
               cSession.authenticator = auth;
               cSession.addEventListener(SessionEvent.SYNCHRONIZATION_CHANGE, onLogin);
               cSession.login();
          }
          
          protected function onLogin(p_evt:SessionEvent):void
          {
               var webCamPub:WebcamPublisher = new WebcamPublisher();
               var webCamSub:WebcamSubscriber = new WebcamSubscriber();
               webCamSub.subscribe();
               webCamPub.subscribe();
               webCamPub.quality = 100;
               webCamSub.width = 300;
               webCamSub.height = 400;
               addChild(webCamSub);
               webCamPub.publish();
          }
     }
}


Avatar

Level 1

Thanks for your reply Nigel,

I understand, but in the Stratus Video Phone sample I can make a connection with another flash client and this connection is explicit.

In the LCCS model i'm connecting to a room, This room can hold more than two members, how can i start a p2p communication with only one member, i don't see this configuration in your example code.

   
I think I'm confused,

Thanks

Avatar

Correct answer by
Level 4

Hey elattanzio, I went through the same thing you're going through when I first tried to get started with LCCS.   I wanted to create a peer 2 peer connection between two flash applications with no server involved.   I was also moving over from the Stratus example to LCCS.

The short answer is LCCS alwasy uses rooms to connect people.   You can make a direct peer to peer connection by using rtmfp in your application.   In that case first your users connect to a room on the LCCS servers, and then they help you coordinate the rtmfp peer to peer connection like you were using with Stratus.   So you end up with all of your data flowing between the two clients, but both clients stay connect to the room in the LCCS service.  Your clients must stay connected to LCCS for the duration of the video call.    Now if your clients can't make a connection because of NAT, firewall, or other issues they will fall back to rtmp and all traffic will now route through the LCCS servers.   You can specify that you do not want your client to fall back though.

Another important thing to understand is the pricing model.   There is a cost associated with just being connected to the LCCS servers.   We found it to be nominal though, but just enough to discourage you from staying connected all the time.   This pushed me to develop our own precense system based on jabber, to see who was online and to initiate calls etc.   Second the cost for say video and audio traffic being routed through the LCCS servers was too high for our business model so we chose to not allow fall back to rtmp.  I think the cost was reasonable based on bandwidth costs etc, our model just couldn't support it.

So there you go that's my understanding of things as I've agonized over how to get good video chat working in our application.   Yeah peer to peer is not 100% free, but the cost is not too bad and you get the benefits of Adobe running a cluster of servers for you.   So for us the value was there.   Good luck with the project.

-Eric

Avatar

Level 1

Thanks you Eric,

In my proyect, the pricing model is too hight, so... How i can specify that i don't want my client to fall back though?

on the other hand, I watch too closely the statistics and found that there is usage of bandwidth even with a RTMFP connection... Do you have a real approximation of how would cost an hour of connection between two participants with a rtmpf protocol?

Thanks a lot.

Avatar

Former Community Member

Hi Elattanzio,

You should be able to detect whether a client is on RTMFP - just take a look at UserDescriptor.isRTMFP once they've connected, and if it's false, logout.

As for price, we charge $0.01/hour to be connected, regardless of connection type. Since bandwidth is $0.49/GB, if you're on RTMFP, only data messages go through the service (for security and other reasons) - you're unlikely to pay more than $0.05/hour. Per user, I'd figure it at $0.06/hour.

hope that helps.

nigel