Home | Search | Login | RSS
We have 1054 members and counting!
Next Page

1

Previous Page

Thread: Voice and Video COnference room

Created on: 02/27/11 03:44 PM

Replies: 7

dnetman99





Joined: 09/04/10

Posts: 17

Voice and Video COnference room
02/27/11 3:44 PM

Hoping to get some insight using wowza and FLEX4/Flash to build a room where everyone dynamically subscribes to incoming connected published streams, first via voice. Then everyone new subscribes to everyone published as they enter. The big thing is the dynamic side instead of having to define a set number of users that can be subscribed to. Any help would be great or a tutorial. Also I guess it could be server side where you just append everyone incoming to a common stream, but not sure where to start on that. I guess it easiest to look at it like a conference bridge where we will add video as well for atleast some subscriptions, etc...

Thanks

Link | Top | Bottom

Graeme





Joined: 10/18/07

Posts: 1568

RE: Voice and Video COnference room
02/28/11 2:59 PM

This isn't as difficult as you may think. There are a few options:

1. Have everyone who comes in subscribe to a shared object. Once they are connected it can go through that shared object and grab all the stream names (which you set in the shared object as people connect and give them a dynamically created stream name which they then start a publishing stream on)

2. Handle it all server side. Keep the list on the server side and use broadcastMsg() to get out to all clients when a new client has connected up to get their stream. Pass the user list to the new client so they can grab all the streams.

3. Use a combination of the above..

Bottom line is that you have to dynamically create a stream name for each user to publish their audio on. Then you have to tell all the connected users up that they have to grab that stream, and let it go when they leave of course.

Link | Top | Bottom

dnetman99





Joined: 09/04/10

Posts: 17

RE: Voice and Video COnference room
03/16/11 10:28 AM

Graeme,

Thanks for that guidance, one quick followup, do you have any guidance on building a class that will subscribe to a stream? I have mastered the task of subscribing when a particular event fires for a already established container, etc... Not sure if that makes sense, but I want to be able to dynamically subscribe to a stream as I loop through them without have a designated number of containers. All of nourse from the same netconnection but the I am getting stuck on the dynamic netstream object, etc.. I figured a class would be the best approach and create new one everytime I want to subscribe to new stream. I hope this makes sense and you have some guidance.

Thanks

Link | Top | Bottom

Graeme





Joined: 10/18/07

Posts: 1568

RE: Voice and Video COnference room
03/17/11 11:33 AM

That does make sense but I don't have any thoughts just at the moment, I would need to do some playing around. I do think it's possible though.

Link | Top | Bottom

dnetman99





Joined: 09/04/10

Posts: 17

RE: Voice and Video COnference room
03/17/11 3:27 PM

Yea I thought it was possible, I just did not know if the best way in a flex 4 app was an as class or to use components for each subscription. Just trying to make it dynamic. Any other ideas are fine as well, just thought the class would be best practices and most efficient if it was possible.

The real goal here is to try and build a flash based audio conferencing system.

Thanks again.

Link | Top | Bottom

dnetman99





Joined: 09/04/10

Posts: 17

RE: Voice and Video COnference room
03/23/11 5:48 AM

another quick question as I try this subscribe class. If I know I only want to attach to a stream that is audio do I still have to attch using a UI component? If I do will it still play even if I do not show that UI component? The subscribe I am doing is a stream with only audio and I just want all the audio streams to play, but nothing to see. Is this possible or is there another way to subscribe to an audio only stream?

Thanks

Link | Top | Bottom

kjeske





Joined: 04/04/09

Posts: 26

RE: Voice and Video COnference room
03/24/11 2:05 AM

to answer the question of the best way to dynamically connect to streams.

I would create a class that handles the streaming of video whether it be RECEIVING video or PUBLISHING video and they you can pass in all the data that the stream needs to broadcast or play back..

I would also build a manager that handles all the creation of the netstream creations and passing you back the class instance of the netstream or a custom class with extra functionality.

I have already built an entire P2P/Stream video conference system that handles max users, allow/disallow video / audio, specify an admin for a individual conference room so someone can manage the flow of conversation if need be etc..

here is an example of the call my system makes to get a netstream object:
netGroupStream = NetGroupManager.create(NetGroupStream.RECEIVE_STREAM,_groupID,_peerID,_localID,_useP2P);
netGroupStream.connection = nc; netGroupStream.addEventListener(NetGroupStreamEvent.STREAM_START,onStreamStart,false,0,true); netGroupStream.addEventListener(NetGroupStreamEvent.STREAM_STOP,onStreamStop,false,0,true);

from here you can now start listening for when someone stops publishing or starts publishing.. i also have functionality in to detect if one stream as more audio data so i can determine whos talking..

its limitless if you create your own structure.

So classes is the way to go.
Just my two cents
* Last updated by: kjeske on 3/24/2011 @ 2:10 AM *

Link | Top | Bottom

dnetman99





Joined: 09/04/10

Posts: 17

RE: Voice and Video COnference room
04/18/11 4:55 PM

SO a followup. I did this using FLEX4 and a MXML component. Create new then give it an ID and then call a function and pass parameters. The problem is how do I use it later or know if its created? I thought I could call it by id or instance, but that seems to bomb. Any ideas? code snippet below

nAudioStream:aSubscribe;
nAudioStream = new aSubscribe;
nAudioStream.id = nstream;
nAudioStream.init(nstream,subscribe);

I then put the id's in an array to know they have been created and do not try to create again, but need to monitor them, etc...

any guidance would be great.
Thanks

Link | Top | Bottom

Next Page

1

Previous Page

New Post

Please login to post a response.