is AppInstance = chat room?

Below are a few questions that I have

is AppInstance == chat room?

I am trying to develop a video cum chat application where users will be able to text chat with the moderator. The moderator however can video + text chat which the users could see. Does it mean I need 2 app instances one to text chat and other to video?

I have multiple moderators with this capability. How do I create a set of these “rooms” one for each moderator dynamically?

once I have the rooms, how could the flex application get the names of all the rooms?

How could I make a room private and not allow anyone else to connect to it, but only the moderator and a couple of members.

is AppInstance == chat room?

In a short answer, yes.

In Wowza, You can have an application which would define all your rooms and then you have instances of that application (chat rooms) that your clients actually connect to. You can stream video and also set up a chat using shared objects on the same appInstance. One appInstance on the server cannot interact directly with another appInstance.

As shamrock says, if you want to make a room private, you will need to do some sort of authentication.

you can do both video and chat in the same application instance as video is done with publish (from the moderator connection) and play (from the users connection) and then chat can be done with other functions so basic examples can be found in the example directory of the Wowza install.

To create one dynamically you will probably need to write a HTTP provider module which has permissions to create directories on the filesystem ( alittle dangerous without some good checks in place ) so create application/directory and conf/directory.

Your ‘chat’ module could also return all the applications running, so if they were all chat applications would return all the rooms, or you could add a property to the application to mark it as a chat room.

To make a private room you would need to add some kind of username checking to the connection of the room so only allowing in names in a list. This is relatively simple but then you also need some kind of room management.

It is quite simple, just a little time consuming.

Shamrock

Gili,

App instances are created as soon as they are used. You can see for yourself. Open Wowza example player SimpleVideoStreaming. Connect like this:

Server: rtmp://localhost/vod/Room99

Stream: mp4:sample.mp4

Playback should start right away. You will see Room99 as an application instance in JConsole.

Richard

New applications are available immediately without restarting anything.

Richard

To create one dynamically you will probably need to write a HTTP provider module which has permissions to create directories on the filesystem ( alittle dangerous without some good checks in place ) so create application/directory and conf/directory.

Is there a programmatic way to add applications/rooms? Is room creation really instantaneous? My fear is that I’ll create a new directory, tell the client there is a new room, but when it attempts to connect to the room Wowza will complain it doesn’t exist because the request came in before Wowza had an opportunity to “mount” the room.

Thanks,

Gili

Gili,

App instances are created as soon as they are used. You can see for yourself. Open Wowza example player SimpleVideoStreaming. Connect like this:

Server: rtmp://localhost/vod/Room99

Stream: mp4:sample.mp4

Playback should start right away. You will see Room99 as an application instance in JConsole.

Richard

Richard,

I understand that applications are instantiated the first time the URL is hit, but when does Wowza scan the application directory for new applications that are created on the fly? Is this really the safest/best way to create new/different chat rooms on the fly?

Thanks,

Gili