• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Is it possible to use Video Phone (Cirrus Sample Application) with FMS4?

New Here ,
Jun 24, 2011 Jun 24, 2011

Copy link to clipboard

Copied

Hello

could anyone explain please, is it possible to use Video Phone (Cirrus Sample Application) with FMS4?

It seems to be possible because in Video Phone source can be found these text:

// rtmfp server address (Adobe Cirrus or FMS)
[Bindable] private var connectUrl:String = "rtmfp://p2p.rtmfp.net";

If it’s possible, where can be found a server-side script for FMS /opt/adobe/fms/applications/videophone/ folder?

sorry for poor English
Many thanks!

Views

2.4K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , Jun 28, 2011 Jun 28, 2011

the latest VideoPhoneLabs uses a new short message relay function on Codename Cirrus.  the semantics are super simple and there's no reason you couldn't implement the function on FMS4.

the relay function works like this: when peerID a01234... wants to send a short message to peerID b12345... (both connected to Cirrus), peerID a01234... does

   // nc is the NetConnection

   nc.call("relay", null, "b12345...", ...args...);

the message will come out on b12345 as a call to the NetConnection's client's o

...

Votes

Translate

Translate
Advocate ,
Jun 24, 2011 Jun 24, 2011

Copy link to clipboard

Copied

Hi,

Thanks for your interest.

It is not exactly possible to use the same sample application thats hosted for Cirrus. But the same functionality (the multicast and other rtmfp features) can all be made use of from FMS4 using the sample application that comes along with it. In the fms 4 installation folder and under applicaitons, you should be able to find an application called multicast which should give the multicast functionality.

Hope it helps.

Thank you !

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 27, 2011 Jun 27, 2011

Copy link to clipboard

Copied

Hi Nikhil

Thank you for your reply!

Could you please give me another advice:

This old VideoPhoneLabs version works with FMS4 well.

But the latest VideoPhoneLabs version (with great echo cancellation feature) doesn't work - there is no call between 2 clients.

In other words, when trying to call only this text appears in "status" tab of the call-recieving client:

NetConnection event: NetStream.Connect.Success

Connection from: 8f63487171497700144d210eaf87e90e4f72855631b63b1cd643d0866144df6d

Though in case of successful call the text in "status" bar should look like this:

Request: invite from: 8f0e9d002d7b47b05276173c229cddba031decdd75fb4682d2db4bdb2b28e479 (35325)

Incoming stream event: NetStream.Play.Reset

NetConnection event: NetStream.Connect.Success

Connection from: 8f0e9d002d7b47b05276173c229cddba031decdd75fb4682d2db4bdb2b28e479

Incoming stream event: NetStream.Play.Start

That is the problem...

Great thanks in advance...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Jun 28, 2011 Jun 28, 2011

Copy link to clipboard

Copied

the latest VideoPhoneLabs uses a new short message relay function on Codename Cirrus.  the semantics are super simple and there's no reason you couldn't implement the function on FMS4.

the relay function works like this: when peerID a01234... wants to send a short message to peerID b12345... (both connected to Cirrus), peerID a01234... does

   // nc is the NetConnection

   nc.call("relay", null, "b12345...", ...args...);

the message will come out on b12345 as a call to the NetConnection's client's onRelay function:

  nc.client.onRelay("a01234...", ...args...)

VideoPhoneLabs uses this function for call signaling.  you should be able to whip up a similar server-side function for FMS4.

otherwise, other than the URI that you use to connect to FMS, the P2P introduction function on FMS should be identical to Cirrus.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 04, 2011 Jul 04, 2011

Copy link to clipboard

Copied

Michael, thanks to your answer the problem is solved!
Great thanks!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Feb 07, 2012 Feb 07, 2012

Copy link to clipboard

Copied

Denis:

Can you please upload your client side changes to the VideoPhoneLabs app and more importantly, your main.asc file for the FMS side? I am still having issues with getting

my sample to work.

Thanks,

Dan

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 10, 2012 Feb 10, 2012

Copy link to clipboard

Copied

LATEST

main.asc:

application.onAppStart = function()

{

  trace("Application started");

}

 

application.onConnect = function(client, userName)

{

  trace("User connected: " + userName + ", id: " + client.farID);

  

  client.userName = userName;

  

  // server side functions

  client.getRemoteId = getRemoteId;

  client.register = register;

 

  application.acceptConnection(client);

 

  return true;

}

 

application.onDisconnect = function(client)

{

  trace("User disconnecting: " + client.userName);

}

 

function register(user, id)

{

  trace("Register: " + user + ", id: " + id);

  

  for (var i = 0; i < application.clients.length; i++)

  {

       if (application.clients.farID == id)

       {

    application.clients.userName = user;

    return 0;

       }

  }

  

  return -1;

}

 

function findUser(userName)

{

  for (var i = 0; i < application.clients.length; i++)

  {

       if (application.clients.userName == userName)

       {

    return i;

       }

  }

  

  return -1;

}

 

function getRemoteId(userName)

{

  trace("Looking up remote user: " + userName);

  

  var result = new Object;

  

  result.userName = userName;

  result.id = "";

  result.protocol = "";

  var index = findUser(userName);

  if (index != -1 )

  {

       result.id = application.clients[index].farID;

       result.protocol = application.clients[index].protocol;

  }

  else

  {

       trace("User not found: " + userName);

  }

  

  return result;

}

p.s. this code is taken from http://www.adobe.com/devnet/flashplayer/articles/rtmfp_cirrus_app.html (see Jozsef V comment below article)

As for client side changes to the VideoPhoneLabs app - only FMS URL had been modified.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines