Macromedia Flash Server - Chaining Streams HELP

This is Interesting: Free IT Magazines  
Home > Archive > Macromedia Flash Server > September 2005 > Chaining Streams HELP





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Chaining Streams HELP
Daniel Pedro

2005-09-29, 5:50 pm


here is another simple problem I am having a hard time understanding or getting my head around... how to get streams from one instance across other instances on the server side??

In Brians PFCS book there is a simple example:
rebroadcast_s=new Stream.get("rebroadcast");
rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);

I don't really understand the begining, where rebroadcast comes from, and the end, how to chain this from yet another server.

here is my incorrect example:

//on client swf client publishes
out_ns.publish("public/Ryerson_56k");

//on master a stream object is created
var myStream = Stream.get("public/Ryerson_56k");
myStream.play("anyname",-1,-1,false);//live,full length,no reset

//on lobby instance connected to master'
var lobbyStrm = Stream.get("public/Ryerson_56k");
lobbyStrm.play("public/Ryerson_56k",-1,-1,false,nc);

//on room instance connected to lobby
var roomStrm = Stream.get("public/Ryerson_56k");
roomStrm.play("public/Ryerson_56k",-1,-1,false,nc);

//on client connected to room
in_ns.play("public/Ryerson_56k");



Thankyou for all your help... still just learning this stuff.....


________________________________________
_______
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Maulik Kataria

2005-09-30, 7:46 am

// This first line says variable rebroadcast_s is the variable containing
Stream object that is associated with sream name "rebroadcast"
// So you create a new stream with name "rebroadcast"
rebroadcast_s=3Dnew Stream.get("rebroadcast");

// Here you actually play the stream... i.e. you get the stream data into
your newly created above streammm
// ... from where ? see the nc variable ? that tells your from which server
.... this name "public/Ryerson_56k" tells you the stream name to fetch //...
from remote server to which nc is connected
rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);

GOT ?

=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Daniel Pedro

2005-09-30, 7:46 am


That still doesn't really tell me the beggining nor end. I think the greatest confusion comes from strm = Stream.get("somename"
and how it("somename") is chained/setup
or
is "anyname in strm.play("anyname"
more important in chaning? sorry I still don't really get it.

Maulik Kataria <maulik.kataria-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
// This first line says variable rebroadcast_s is the variable containing
Stream object that is associated with sream name "rebroadcast"
// So you create a new stream with name "rebroadcast"
rebroadcast_s=new Stream.get("rebroadcast");

// Here you actually play the stream... i.e. you get the stream data into
your newly created above streammm
// ... from where ? see the nc variable ? that tells your from which server
.... this name "public/Ryerson_56k" tells you the stream name to fetch //...
from remote server to which nc is connected
rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);

GOT ?
Daniel Pedro <danielxl-wzCN7aUSXSrQT0dZR+AlfA@public.gmane.org> wrote:

here is another simple problem I am having a hard time understanding or getting my head around... how to get streams from one instance across other instances on the server side??

In Brians PFCS book there is a simple example:
rebroadcast_s=new Stream.get("rebroadcast");
rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);

I don't really understand the begining, where rebroadcast comes from, and the end, how to chain this from yet another server.

here is my incorrect example:

//on client swf client publishes
out_ns.publish("public/Ryerson_56k");

//on master a stream object is created
var myStream = Stream.get("public/Ryerson_56k");
myStream.play("anyname",-1,-1,false);//live,full length,no reset

//on lobby instance connected to master'
var lobbyStrm = Stream.get("public/Ryerson_56k");
lobbyStrm.play("public/Ryerson_56k",-1,-1,false,nc);

//on room instance connected to lobby
var roomStrm = Stream.get("public/Ryerson_56k");
roomStrm.play("public/Ryerson_56k",-1,-1,false,nc);

//on client connected to room
in_ns.play("public/Ryerson_56k");



Thankyou for all your help... still just learning this stuff.....


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


________________________________________
_______
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Maulik Kataria

2005-09-30, 7:46 am

for chaning what you do is take sream from another server and republish the
same stream on the own server....

So strm =3D Stream.get("somename")
will create a stream on your current FCS....and "somename" is the name to
which clients can subscribe for streaming...

But you have to provide some input to "somename" stream... that you get fro=
m
remote server using nc and Stream.play method...

On 9/30/05, Daniel Pedro <danielxl-wzCN7aUSXSrQT0dZR+AlfA@public.gmane.org> wrote:
>
>
> That still doesn't really tell me the beggining nor end. I think the
> greatest confusion comes from strm =3D Stream.get("somename"
> and how it("somename") is chained/setup
> or
> is "anyname in strm.play("anyname"
> more important in chaning? sorry I still don't really get it.
>
> Maulik Kataria <maulik.kataria-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> // This first line says variable rebroadcast_s is the variable containing
> Stream object that is associated with sream name "rebroadcast"
> // So you create a new stream with name "rebroadcast"
> rebroadcast_s=3Dnew Stream.get("rebroadcast");
>
> // Here you actually play the stream... i.e. you get the stream data into
> your newly created above streammm
> // ... from where ? see the nc variable ? that tells your from which
> server
> ... this name "public/Ryerson_56k" tells you the stream name to fetch
> //...
> from remote server to which nc is connected
> rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>
> GOT ?
> Daniel Pedro <danielxl-wzCN7aUSXSrQT0dZR+AlfA@public.gmane.org> wrote:
>
> here is another simple problem I am having a hard time understanding or
> getting my head around... how to get streams from one instance across oth=

er
> instances on the server side??
>
> In Brians PFCS book there is a simple example:
> rebroadcast_s=3Dnew Stream.get("rebroadcast");
> rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>
> I don't really understand the begining, where rebroadcast comes from, and
> the end, how to chain this from yet another server.
>
> here is my incorrect example:
>
> //on client swf client publishes
> out_ns.publish("public/Ryerson_56k");
>
> //on master a stream object is created
> var myStream =3D Stream.get("public/Ryerson_56k");
> myStream.play("anyname",-1,-1,false);//live,full length,no reset
>
> //on lobby instance connected to master'
> var lobbyStrm =3D Stream.get("public/Ryerson_56k");
> lobbyStrm.play("public/Ryerson_56k",-1,-1,false,nc);
>
> //on room instance connected to lobby
> var roomStrm =3D Stream.get("public/Ryerson_56k");
> roomStrm.play("public/Ryerson_56k",-1,-1,false,nc);
>
> //on client connected to room
> in_ns.play("public/Ryerson_56k");
>
>
>
> Thankyou for all your help... still just learning this stuff.....
>
>
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
> Join Excite! - http://www.excite.com
> The most personalized portal on the Web!
>
>
>
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Daniel Pedro

2005-09-30, 5:46 pm


is there a clear example of
client to server to server to client any where?

I was under the impression that "stname" in Stream.get("stname" was supposed to be the directory where the client was publishing its stream to? and "namenow" in .play("namenow" was where clients would actually subscribe to??NO????




Maulik Kataria <maulik.kataria-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
for chaning what you do is take sream from another server and republish the
same stream on the own server....

So strm = Stream.get("somename")
will create a stream on your current FCS....and "somename" is the name to
which clients can subscribe for streaming...

But you have to provide some input to "somename" stream... that you get from
remote server using nc and Stream.play method...

On 9/30/05, Daniel Pedro wrote:
>
>
> That still doesn't really tell me the beggining nor end. I think the
> greatest confusion comes from strm = Stream.get("somename"
> and how it("somename") is chained/setup
> or
> is "anyname in strm.play("anyname"
> more important in chaning? sorry I still don't really get it.
>
> Maulik Kataria wrote:
> // This first line says variable rebroadcast_s is the variable containing
> Stream object that is associated with sream name "rebroadcast"
> // So you create a new stream with name "rebroadcast"
> rebroadcast_s=new Stream.get("rebroadcast");
>
> // Here you actually play the stream... i.e. you get the stream data into
> your newly created above streammm
> // ... from where ? see the nc variable ? that tells your from which
> server
> ... this name "public/Ryerson_56k" tells you the stream name to fetch
> //...
> from remote server to which nc is connected
> rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>
> GOT ?
> Daniel Pedro wrote:
>
> here is another simple problem I am having a hard time understanding or
> getting my head around... how to get streams from one instance across other
> instances on the server side??
>
> In Brians PFCS book there is a simple example:
> rebroadcast_s=new Stream.get("rebroadcast");
> rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>
> I don't really understand the begining, where rebroadcast comes from, and
> the end, how to chain this from yet another server.
>
> here is my incorrect example:
>
> //on client swf client publishes
> out_ns.publish("public/Ryerson_56k");
>
> //on master a stream object is created
> var myStream = Stream.get("public/Ryerson_56k");
> myStream.play("anyname",-1,-1,false);//live,full length,no reset
>
> //on lobby instance connected to master'
> var lobbyStrm = Stream.get("public/Ryerson_56k");
> lobbyStrm.play("public/Ryerson_56k",-1,-1,false,nc);
>
> //on room instance connected to lobby
> var roomStrm = Stream.get("public/Ryerson_56k");
> roomStrm.play("public/Ryerson_56k",-1,-1,false,nc);
>
> //on client connected to room
> in_ns.play("public/Ryerson_56k");
>
>
>
> Thankyou for all your help... still just learning this stuff.....
>
>
> =-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =-----------------------------------------------------------
>
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
> Join Excite! - http://www.excite.com
> The most personalized portal on the Web!
>
>
>
> =-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =-----------------------------------------------------------
>
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


________________________________________
_______
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Maulik Kataria

2005-09-30, 5:46 pm

Well it's the reverse way.... clients should subscribe to "somename" in the
Stream.get("somename") method.. flv name (or live stream name) should be
given in Stream.play method... i.e. "noname"

On 9/30/05, Daniel Pedro <danielxl-wzCN7aUSXSrQT0dZR+AlfA@public.gmane.org> wrote:
>
>
> is there a clear example of
> client to server to server to client any where?
>
> I was under the impression that "stname" in Stream.get("stname" was
> supposed to be the directory where the client was publishing its stream t=

o?
> and "namenow" in .play("namenow" was where clients would actually subscri=

be
> to??NO????
>
>
>
>
> Maulik Kataria <maulik.kataria-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> for chaning what you do is take sream from another server and republish
> the
> same stream on the own server....
>
> So strm =3D Stream.get("somename")
> will create a stream on your current FCS....and "somename" is the name to
> which clients can subscribe for streaming...
>
> But you have to provide some input to "somename" stream... that you get
> from
> remote server using nc and Stream.play method...
>
> On 9/30/05, Daniel Pedro wrote:
> containing
> into
> other
> and
>
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
> Join Excite! - http://www.excite.com
> The most personalized portal on the Web!
>
>
>
> =3D-----------------------------------------------------------
> Supported by Fig Leaf Software - http://www.figleaf.com
> =3D-----------------------------------------------------------
>
> To change your subscription options or search the archive:
> http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Brian Lesser

2005-09-30, 5:46 pm

Yes, that's right. Say you want to send a stream out to 20,000 people
around the world and you don't want to serve all 20,000 streams from one
central server. So you setup 100 servers around the world. You send 100
streams from your one central server out to your 100 servers. Each of
those 100 servers republishes the stream under a different name and only
has to handle an average of 200 clients playing the republished stream.
So step-by-step:

One client publishes the stream to a central server under one name say
"public/Ryerson_56k". (In the URI you can think of public is a directory
and Ryerson_56k is the flv or live stream name)

out_ns.publish("public/Ryerson_56k");

So the stream public/Ryerson_56k is now available from your central server.

Your 100 servers all have to subscribe to that stream in order to
republish it. So they create a new stream of their own first. Let's call
it "rebroadcast" Then they play the stream public/Ryerson_56k on the
rebroadcast stream:

rebroadcast_s=new Stream.get("rebroadcast");

rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);

Now all the clients that want to play the stream have to connect to one
of your 100 servers around the world and subscribe to the stream named
"rebroadcast" :

in_ns.play("rebroadcast");


So the one pubishing client publishes a stream under one name that all
the servers republish under another name. Then the clients that want to
play the stream subscribe to the second name.

Of course figuring out and implementing all the details of how to do
this can be a fair bit of work. Fortunately, our friends on the FMS
development team have made all this much easier for us in FMS 2. An
installation of Flash Media Server can be setup as an Origin server or
as an Edge Server. Think of the Origin server as the "central" server in
my little explanation above and Edge Servers as being the servers that
redistribute the streams to their clients. The difference is that the
Edge servers act as a proxy for the Origin server so you don't have to
get into stream renaming etc. You just have to setup your Origin and
Edge servers correctly. Then your client just connects to an app on the
Edge server and FMS 2 takes care of the rest. You can publish a stream
to an Origin or Edge server and then any client can connect to your app
on any Edge server and play the stream. It's great!

Yours truly,
-Brian


Maulik Kataria wrote:
[vbcol=seagreen]
>Well it's the reverse way.... clients should subscribe to "somename" in the
>Stream.get("somename") method.. flv name (or live stream name) should be
>given in Stream.play method... i.e. "noname"
>
>On 9/30/05, Daniel Pedro <danielxl-wzCN7aUSXSrQT0dZR+AlfA@public.gmane.org> wrote:
>
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Daniel Pedro

2005-09-30, 5:46 pm


Thankyou so much for the explanation....Now I am curious when you suggest Origin/Edge servers(auto Proxy)... is this automatic? I mean the example you have would rely on the new FMS2 feature right?
so just to confirm I understand I can do the following:
on Master.asc if client is publishing:
out_ns.publish("public/Ryerson_56k");
On master.asc clients connect via :
in_ns.play("public/Ryerson_56k",-1);
On Lobby.asc we set up a stream via your method:
rebroadcast_s=new Stream.get("rebroadcast");
rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
On Distribute.asc we again will set up a stream:
rebroadcast_s=new Stream.get("client_stream");
rebroadcast_s.play("rebroadcast",-1,-1,false,nc);
On Distribute.asc all clients can connect via:
in_ns.play("client_stream",-1);

Does that seem right??? Thanx again

Brian Lesser <blesser-6s6ziW1YCwCw5LPnMra/2Q@public.gmane.org> wrote:
Yes, that's right. Say you want to send a stream out to 20,000 people
around the world and you don't want to serve all 20,000 streams from one
central server. So you setup 100 servers around the world. You send 100
streams from your one central server out to your 100 servers. Each of
those 100 servers republishes the stream under a different name and only
has to handle an average of 200 clients playing the republished stream.
So step-by-step:

One client publishes the stream to a central server under one name say
"public/Ryerson_56k". (In the URI you can think of public is a directory
and Ryerson_56k is the flv or live stream name)

out_ns.publish("public/Ryerson_56k");

So the stream public/Ryerson_56k is now available from your central server.

Your 100 servers all have to subscribe to that stream in order to
republish it. So they create a new stream of their own first. Let's call
it "rebroadcast" Then they play the stream public/Ryerson_56k on the
rebroadcast stream:

rebroadcast_s=new Stream.get("rebroadcast");

rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);

Now all the clients that want to play the stream have to connect to one
of your 100 servers around the world and subscribe to the stream named
"rebroadcast" :

in_ns.play("rebroadcast");


So the one pubishing client publishes a stream under one name that all
the servers republish under another name. Then the clients that want to
play the stream subscribe to the second name.

Of course figuring out and implementing all the details of how to do
this can be a fair bit of work. Fortunately, our friends on the FMS
development team have made all this much easier for us in FMS 2. An
installation of Flash Media Server can be setup as an Origin server or
as an Edge Server. Think of the Origin server as the "central" server in
my little explanation above and Edge Servers as being the servers that
redistribute the streams to their clients. The difference is that the
Edge servers act as a proxy for the Origin server so you don't have to
get into stream renaming etc. You just have to setup your Origin and
Edge servers correctly. Then your client just connects to an app on the
Edge server and FMS 2 takes care of the rest. You can publish a stream
to an Origin or Edge server and then any client can connect to your app
on any Edge server and play the stream. It's great!

Yours truly,
-Brian


Maulik Kataria wrote:
[vbcol=seagreen]
>Well it's the reverse way.... clients should subscribe to "somename" in the
>Stream.get("somename") method.. flv name (or live stream name) should be
>given in Stream.play method... i.e. "noname"
>
>On 9/30/05, Daniel Pedro wrote:
>
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


________________________________________
_______
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Brian Lesser

2005-09-30, 5:46 pm

Hi Daniel,
Yes, its almost entirely automatic and very cool. Check the docs for how
to connect to an Edge server etc.
I don't understand why you have lobby and distribute instances? Why not
just have the distribute instance create a rebroadcast stream and play
the stream from the central server?

Yours truly,
-Brian

Daniel Pedro wrote:
[vbcol=seagreen]
>Thankyou so much for the explanation....Now I am curious when you suggest Origin/Edge servers(auto Proxy)... is this automatic? I mean the example you have would rely on the new FMS2 feature right?
>so just to confirm I understand I can do the following:
>on Master.asc if client is publishing:
>out_ns.publish("public/Ryerson_56k");
>On master.asc clients connect via :
>in_ns.play("public/Ryerson_56k",-1);
>On Lobby.asc we set up a stream via your method:
>rebroadcast_s=new Stream.get("rebroadcast");
>rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>On Distribute.asc we again will set up a stream:
>rebroadcast_s=new Stream.get("client_stream");
>rebroadcast_s.play("rebroadcast",-1,-1,false,nc);
>On Distribute.asc all clients can connect via:
>in_ns.play("client_stream",-1);
>
>Does that seem right??? Thanx again
>
>Brian Lesser <blesser-6s6ziW1YCwCw5LPnMra/2Q@public.gmane.org> wrote:
>Yes, that's right. Say you want to send a stream out to 20,000 people
>around the world and you don't want to serve all 20,000 streams from one
>central server. So you setup 100 servers around the world. You send 100
>streams from your one central server out to your 100 servers. Each of
>those 100 servers republishes the stream under a different name and only
>has to handle an average of 200 clients playing the republished stream.
>So step-by-step:
>
>One client publishes the stream to a central server under one name say
>"public/Ryerson_56k". (In the URI you can think of public is a directory
>and Ryerson_56k is the flv or live stream name)
>
>out_ns.publish("public/Ryerson_56k");
>
>So the stream public/Ryerson_56k is now available from your central server.
>
>Your 100 servers all have to subscribe to that stream in order to
>republish it. So they create a new stream of their own first. Let's call
>it "rebroadcast" Then they play the stream public/Ryerson_56k on the
>rebroadcast stream:
>
>rebroadcast_s=new Stream.get("rebroadcast");
>
>rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>
>Now all the clients that want to play the stream have to connect to one
>of your 100 servers around the world and subscribe to the stream named
>"rebroadcast" :
>
>in_ns.play("rebroadcast");
>
>
>So the one pubishing client publishes a stream under one name that all
>the servers republish under another name. Then the clients that want to
>play the stream subscribe to the second name.
>
>Of course figuring out and implementing all the details of how to do
>this can be a fair bit of work. Fortunately, our friends on the FMS
>development team have made all this much easier for us in FMS 2. An
>installation of Flash Media Server can be setup as an Origin server or
>as an Edge Server. Think of the Origin server as the "central" server in
>my little explanation above and Edge Servers as being the servers that
>redistribute the streams to their clients. The difference is that the
>Edge servers act as a proxy for the Origin server so you don't have to
>get into stream renaming etc. You just have to setup your Origin and
>Edge servers correctly. Then your client just connects to an app on the
>Edge server and FMS 2 takes care of the rest. You can publish a stream
>to an Origin or Edge server and then any client can connect to your app
>on any Edge server and play the stream. It's great!
>
>Yours truly,
>-Brian
>
>
>Maulik Kataria wrote:
>
>
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Daniel Pedro

2005-09-30, 5:46 pm


Brian,
I am still learning but from what I have pieced together so far in order to scale I will need to spread out resources. I wanted to build a one/two to many app for possibly thousands of users.
maser.asc I have the presenter set up and the lobbies connects to master and passes on proxied SO's and also allows rooms connect to the lobbies. Also have private messaging which uses the netconnections to pass around the PM's. Video, from what I under
stood needs to be pushed through a nc. Not wanting to put to much load on the master I want to chain the stream to the lobbies which will chain them to the rooms. If there is a better way to do this Please let me know.... As I said I am still a newbie an
d would rather get it right.

thanx again

Brian Lesser <blesser-6s6ziW1YCwCw5LPnMra/2Q@public.gmane.org> wrote:
Hi Daniel,
Yes, its almost entirely automatic and very cool. Check the docs for how
to connect to an Edge server etc.
I don't understand why you have lobby and distribute instances? Why not
just have the distribute instance create a rebroadcast stream and play
the stream from the central server?

Yours truly,
-Brian

Daniel Pedro wrote:
[vbcol=seagreen]
>Thankyou so much for the explanation....Now I am curious when you suggest Origin/Edge servers(auto Proxy)... is this automatic? I mean the example you have would rely on the new FMS2 feature right?
>so just to confirm I understand I can do the following:
>on Master.asc if client is publishing:
>out_ns.publish("public/Ryerson_56k");
>On master.asc clients connect via :
>in_ns.play("public/Ryerson_56k",-1);
>On Lobby.asc we set up a stream via your method:
>rebroadcast_s=new Stream.get("rebroadcast");
>rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>On Distribute.asc we again will set up a stream:
>rebroadcast_s=new Stream.get("client_stream");
>rebroadcast_s.play("rebroadcast",-1,-1,false,nc);
>On Distribute.asc all clients can connect via:
>in_ns.play("client_stream",-1);
>
>Does that seem right??? Thanx again
>
>Brian Lesser wrote:
>Yes, that's right. Say you want to send a stream out to 20,000 people
>around the world and you don't want to serve all 20,000 streams from one
>central server. So you setup 100 servers around the world. You send 100
>streams from your one central server out to your 100 servers. Each of
>those 100 servers republishes the stream under a different name and only
>has to handle an average of 200 clients playing the republished stream.
>So step-by-step:
>
>One client publishes the stream to a central server under one name say
>"public/Ryerson_56k". (In the URI you can think of public is a directory
>and Ryerson_56k is the flv or live stream name)
>
>out_ns.publish("public/Ryerson_56k");
>
>So the stream public/Ryerson_56k is now available from your central server.
>
>Your 100 servers all have to subscribe to that stream in order to
>republish it. So they create a new stream of their own first. Let's call
>it "rebroadcast" Then they play the stream public/Ryerson_56k on the
>rebroadcast stream:
>
>rebroadcast_s=new Stream.get("rebroadcast");
>
>rebroadcast_s.play("public/Ryerson_56k",-1,-1,false,nc);
>
>Now all the clients that want to play the stream have to connect to one
>of your 100 servers around the world and subscribe to the stream named
>"rebroadcast" :
>
>in_ns.play("rebroadcast");
>
>
>So the one pubishing client publishes a stream under one name that all
>the servers republish under another name. Then the clients that want to
>play the stream subscribe to the second name.
>
>Of course figuring out and implementing all the details of how to do
>this can be a fair bit of work. Fortunately, our friends on the FMS
>development team have made all this much easier for us in FMS 2. An
>installation of Flash Media Server can be setup as an Origin server or
>as an Edge Server. Think of the Origin server as the "central" server in
>my little explanation above and Edge Servers as being the servers that
>redistribute the streams to their clients. The difference is that the
>Edge servers act as a proxy for the Origin server so you don't have to
>get into stream renaming etc. You just have to setup your Origin and
>Edge servers correctly. Then your client just connects to an app on the
>Edge server and FMS 2 takes care of the rest. You can publish a stream
>to an Origin or Edge server and then any client can connect to your app
>on any Edge server and play the stream. It's great!
>
>Yours truly,
>-Brian
>
>
>Maulik Kataria wrote:
>
>
>


=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


________________________________________
_______
Join Excite! - http://www.excite.com
The most personalized portal on the Web!



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Brian Lesser

2005-09-30, 5:46 pm

Hi Daniel,
I'm not sure of all the details of your app but if the video doesn't
have to play in the lobby the rooms might as well get it directly from
the master.
Yours truly,
-Brian

Daniel Pedro wrote:

>Brian,
>I am still learning but from what I have pieced together so far in order to scale I will need to spread out resources. I wanted to build a one/two to many app for possibly thousands of users.
>maser.asc I have the presenter set up and the lobbies connects to master and passes on proxied SO's and also allows rooms connect to the lobbies. Also have private messaging which uses the netconnections to pass around the PM's. Video, from what I unde

rstood needs to be pushed through a nc. Not wanting to put to much load on the master I want to chain the stream to the lobbies which will chain them to the rooms. If there is a better way to do this Please let me know.... As I said I am still a newbie a
nd would rather get it right.
>
>thanx again
>
>Brian Lesser <blesser-6s6ziW1YCwCw5LPnMra/2Q@public.gmane.org> wrote:
>Hi Daniel,
>Yes, its almost entirely automatic and very cool. Check the docs for how
>to connect to an Edge server etc.
>I don't understand why you have lobby and distribute instances? Why not
>just have the distribute instance create a rebroadcast stream and play
>the stream from the central server?
>
>Yours truly,
>-Brian
>
>Daniel Pedro wrote:
>
>
>
>
>
>=-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
>Join Excite! - http://www.excite.com
>The most personalized portal on the Web!
>
>
>
>=-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>



=-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Beto A

2005-09-30, 5:46 pm

but for the rooms to get it directly from the master doesn't that mean a =
new connection has to be created???

Brian Lesser <blesser-6s6ziW1YCwCw5LPnMra/2Q@public.gmane.org> wrote:Hi Daniel,
I'm not sure of all the details of your app but if the video doesn't=20
have to play in the lobby the rooms might as well get it directly from=20
the master.
Yours truly,
-Brian

Daniel Pedro wrote:

>Brian,
>I am still learning but from what I have pieced together so far in order=

to scale I will need to spread out resources. I wanted to build a one/tw=
o to many app for possibly thousands of users.
>maser.asc I have the presenter set up and the lobbies connects to master=

and passes on proxied SO's and also allows rooms connect to the lobbies.=
Also have private messaging which uses the netconnections to pass around=
the PM's. Video, from what I understood needs to be pushed through a nc.=
Not wanting to put to much load on the master I want to chain the stream=
to the lobbies which will chain them to the rooms. If there is a better =
way to do this Please let me know.... As I said I am still a newbie and w=
ould rather get it right.
>
>thanx again
>
>Brian Lesser wrote:
>Hi Daniel,
>Yes, its almost entirely automatic and very cool. Check the docs for how=

=20
>to connect to an Edge server etc.
>I don't understand why you have lobby and distribute instances? Why not=20
>just have the distribute instance create a rebroadcast stream and play=20
>the stream from the central server?
>
>Yours truly,
>-Brian
>
>Daniel Pedro wrote:
>
>=20
>
st Origin/Edge servers(auto Proxy)... is this automatic? I mean the examp=
le you have would rely on the new FMS2 feature right?[vbcol=seagreen]
e=20[vbcol=seagreen]
=20[vbcol=seagreen]
y=20[vbcol=seagreen]
=20[vbcol=seagreen]
y=20[vbcol=seagreen]
ver.[vbcol=seagreen]
l=20[vbcol=seagreen]
=20[vbcol=seagreen]
=20[vbcol=seagreen]
n=20[vbcol=seagreen]
=20[vbcol=seagreen]
=20[vbcol=seagreen]
n the[vbcol=seagreen]
be[vbcol=seagreen]
am to?[vbcol=seagreen]
scribe[vbcol=seagreen]
sh[vbcol=seagreen]
e to[vbcol=seagreen]
et[vbcol=seagreen]
h[vbcol=seagreen]
or[vbcol=seagreen]
s[vbcol=seagreen]
,[vbcol=seagreen]
>
>
>=3D-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=3D-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
>Join Excite! - http://www.excite.com
>The most personalized portal on the Web!
>
>
>
>=3D-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=3D-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>



=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


=09
---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Beto A

2005-09-30, 5:46 pm

sorry to but in but I found this thread interesting since it may deal wit=
h new FMS2 origin/edge capabilities
=20


Beto A <astro_sk-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:
but for the rooms to get it directly from the master doesn't that mean a =
new connection has to be created???

Brian Lesser wrote:Hi Daniel,
I'm not sure of all the details of your app but if the video doesn't=20
have to play in the lobby the rooms might as well get it directly from=20
the master.
Yours truly,
-Brian

Daniel Pedro wrote:

>Brian,
>I am still learning but from what I have pieced together so far in order=

to scale I will need to spread out resources. I wanted to build a one/tw=
o to many app for possibly thousands of users.
>maser.asc I have the presenter set up and the lobbies connects to master=

and passes on proxied SO's and also allows rooms connect to the lobbies.=
Also have private messaging which uses the netconnections to pass around=
the PM's. Video, from what I understood needs to be pushed through a nc.=
Not wanting to put to much load on the master I want to chain the stream=
to the lobbies which will chain them to the rooms. If there is a better =
way to do this Please let me know.... As I said I am still a newbie and w=
ould rather get it right.
>
>thanx again
>
>Brian Lesser wrote:
>Hi Daniel,
>Yes, its almost entirely automatic and very cool. Check the docs for how=

=20
>to connect to an Edge server etc.
>I don't understand why you have lobby and distribute instances? Why not=20
>just have the distribute instance create a rebroadcast stream and play=20
>the stream from the central server?
>
>Yours truly,
>-Brian
>
>Daniel Pedro wrote:
>
>=20
>
st Origin/Edge servers(auto Proxy)... is this automatic? I mean the examp=
le you have would rely on the new FMS2 feature right?[vbcol=seagreen]
e=20[vbcol=seagreen]
=20[vbcol=seagreen]
y=20[vbcol=seagreen]
=20[vbcol=seagreen]
y=20[vbcol=seagreen]
ver.[vbcol=seagreen]
l=20[vbcol=seagreen]
=20[vbcol=seagreen]
=20[vbcol=seagreen]
n=20[vbcol=seagreen]
=20[vbcol=seagreen]
=20[vbcol=seagreen]
n the[vbcol=seagreen]
be[vbcol=seagreen]
am to?[vbcol=seagreen]
scribe[vbcol=seagreen]
sh[vbcol=seagreen]
e to[vbcol=seagreen]
et[vbcol=seagreen]
h[vbcol=seagreen]
or[vbcol=seagreen]
s[vbcol=seagreen]
,[vbcol=seagreen]
>
>
>=3D-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=3D-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
>Join Excite! - http://www.excite.com
>The most personalized portal on the Web!
>
>
>
>=3D-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=3D-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>



=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm



---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

=09
---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Beto A

2005-09-30, 5:46 pm

Daniel, I have looked into the docs and I am begining to see what Brian =
is talking about when mentioning Origin/Edge servers....
=20
The idea would imply that we get to do less work and not more, with impro=
ved security and performance. If you where to use Origin/Edge servers you=
would have to create a connection from your room to your master/publish=
er. the difference is that you can proxy accross other serversby way of =
appending more rmtp addresses for each proxied server like so: rtmp://loc=
alhost?rtmp://someotherserver.com/?rtmp://yourorgin.com/applicationname.
=20
I am still getting my hands wet but this is really exciting stuff....
=20
hope that makes sense...


Beto A <astro_sk-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:
sorry to but in but I found this thread interesting since it may deal wit=
h new FMS2 origin/edge capabilities



Beto A wrote:
but for the rooms to get it directly from the master doesn't that mean a =
new connection has to be created???

Brian Lesser wrote:Hi Daniel,
I'm not sure of all the details of your app but if the video doesn't=20
have to play in the lobby the rooms might as well get it directly from=20
the master.
Yours truly,
-Brian

Daniel Pedro wrote:

>Brian,
>I am still learning but from what I have pieced together so far in order=

to scale I will need to spread out resources. I wanted to build a one/tw=
o to many app for possibly thousands of users.
>maser.asc I have the presenter set up and the lobbies connects to master=

and passes on proxied SO's and also allows rooms connect to the lobbies.=
Also have private messaging which uses the netconnections to pass around=
the PM's. Video, from what I understood needs to be pushed through a nc.=
Not wanting to put to much load on the master I want to chain the stream=
to the lobbies which will chain them to the rooms. If there is a better =
way to do this Please let me know.... As I said I am still a newbie and w=
ould rather get it right.
>
>thanx again
>
>Brian Lesser wrote:
>Hi Daniel,
>Yes, its almost entirely automatic and very cool. Check the docs for how=

=20
>to connect to an Edge server etc.
>I don't understand why you have lobby and distribute instances? Why not=20
>just have the distribute instance create a rebroadcast stream and play=20
>the stream from the central server?
>
>Yours truly,
>-Brian
>
>Daniel Pedro wrote:
>
>=20
>
st Origin/Edge servers(auto Proxy)... is this automatic? I mean the examp=
le you have would rely on the new FMS2 feature right?[vbcol=seagreen]
e=20[vbcol=seagreen]
=20[vbcol=seagreen]
y=20[vbcol=seagreen]
=20[vbcol=seagreen]
y=20[vbcol=seagreen]
ver.[vbcol=seagreen]
l=20[vbcol=seagreen]
=20[vbcol=seagreen]
=20[vbcol=seagreen]
n=20[vbcol=seagreen]
=20[vbcol=seagreen]
=20[vbcol=seagreen]
n the[vbcol=seagreen]
be[vbcol=seagreen]
am to?[vbcol=seagreen]
scribe[vbcol=seagreen]
sh[vbcol=seagreen]
e to[vbcol=seagreen]
et[vbcol=seagreen]
h[vbcol=seagreen]
or[vbcol=seagreen]
s[vbcol=seagreen]
,[vbcol=seagreen]
>
>
>=3D-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=3D-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>
>
> ________________________________________
_______
>Join Excite! - http://www.excite.com
>The most personalized portal on the Web!
>
>
>
>=3D-----------------------------------------------------------
>Supported by Fig Leaf Software - http://www.figleaf.com
>=3D-----------------------------------------------------------
>
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcomm
>=20
>



=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm



---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm


---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

=09
---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.=20

=3D-----------------------------------------------------------
Supported by Fig Leaf Software - http://www.figleaf.com
=3D-----------------------------------------------------------

To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcomm

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com