We need a modification to our red5 java server application
The idea is that a user (or dj) would go to a webpage,
on the page is a flash program which tries to connect to the webcam and sound on the users computer.
the user then streams the video and audio to the server.
the server then streams back to a webpage, or device which can be viewed by as many people as the server can handle.
currently the logic is:
1 input stream = 1 output stream, 3 input streams = 3 output streams
we need to add the ability to do:
x input streams = 1 output stream
We are using red5 server for streaming which we have installed on windows 2008 server. we are streaming to and from red5 using the videowhisper application: [login to view URL]
Basically we are able to create client applications to stream to/from red5 server over RTMP (a streaming protocol) in flash as its quite simple with a bit of flash actionscript knowledge.
However on the server-side, we need to be able to control simultaneous connections/streams from the client application in a dynamic playlist form,
configurable through something like xml or mysql and then combine them into specific broadcast streams.
We would also need the ability to insert flv's (flash videos) into the dynamic playlist, ability to schedule playlist items (configurable by something like a datetime attribute in the xml or mysql field),
and handle things like automatic switching to the next item in the playlist when a client disconnects (client being the person streaming to the server).
This logic would result in us having similar behavior to windows media server in that, you have a client viewing a specific continuous stream, which could be multiple vídeos and live broadcasts merged into one,
instead of having to refresh the video url on the browser side and making the browser & php handle the playlist control.
The problem with doing it that way is that it makes it more difficult to stream to other devices like phones,
as the app on the phone would have to handle the refreshing of the playlist and the control of which stream to view, just like the browser would have to.
There are opensource versions of similar applications for red5 but none of them do exactly what we need and although i understand the application logic of how it should work, i cant spend a year learning java to work it out!
a few links:
download red5 server: [login to view URL]
A load of sites that run red5 server with flash and some free opensource code with examples in flash and java: [login to view URL]
Red5 tutorials wiki: [login to view URL]
Red5 examples and tutorials: [login to view URL]
Red5 Java API Documentation: [login to view URL]
Tutorial on how to get red5 server running: [login to view URL]