You might also want to check out Real Helix Server, though it's a bit on the expensive side - the version that can only serve 25 simultaneous broadcasts to unlimited users has a price tag of around 2000 euro as far as I see with a Google search but it's better to ask Real through their contact/sales form.
Feature-wise it's an excellent product.
Last edited by mariushm; 07-29-2009 at 07:45 AM.
Reason: side, not site
With regards to bandwidth, you have to first tie down the bit rate of your videos. Once you got that, you can begin to multiply that with number of users and that would be your minimum upload speed. Also, you'll need to buy an additional server just to do encoding. Preferably something with a good CPU and lots of Ram. So its one for serving files, and another for encoding.
Your going to be alot of bandwidth and with most datacenters / hosting companies you can pay a large amount for bandwidth. I know FDC (http://www.fdcservers.net) offers great bandwidth deals. Your also going to need a Quad or bigger. I wouldn't go with anything less then 4 GB. If you get a server that large most likely you will be given a 500GB harddrive which should be okay and if not you can add a secondary very easy.
I would personally get a large server right off the bat.
We develop brand identity for the web.
- - - - - - - - - - - - - - - - Services ~ Custom Web Design, Branding & Identity, Development, Hosting & more! Portfolio ~ Websites, User Interfaces, Widgets & more!
Flash does not support XVID or DIVX. It only supports VP6 or h264. You'd want to use h264, and a popular encoder for this is x264.exe (command line).
Flash can play directly .mp4 and .flv files, so if you're planning to save shows or recordings, it's best to save them in .mp4 format, upload to server and stream them like a regular file on a web server.
For live upload and streaming, you may also want to check out Adobe Flash Media Live Encoder an application that takes some input (video, audio), encode them to x264 or vp6 and upload the stream to your server, which can be Red5, Helix I mentioned or something else..
There's also VideoLanClient (vlc) that can encode something and upload to a streaming server, but it's harder to use and customize (compared to Adobe Flash Media blah blah above which is simple and fast (though a bit less quality))
I'd second the cristibenghea and recommend you stick to 640x480, the quality per bitrate will be better and people will need less processor to play the movies on their computers.
PS. You'll only need a powerful server if you're planning to receive videos from people and convert them on the server to the format Flash likes.
If you're planning to just have a streaming server installed which receives already encoded video from you and people watching the video you upload, a regular, plain 1-2GB memory, 1.6-2.4 Ghz dual code server will do.
Regarding bandwidth. You just have to pick the bitrate you're going to use, let's say 350kbps for video (h264) and 80kbps (aac stereo) for audio, about what Youtube uses.
You add these numbers and get 430 kbps which divided by 8 gives you 54KB/s. Add about 10% tolerance and you have 60KB/s for each person watching a video from you.
A 100mbps connection means about 11.5 MB/s actual bandwidth, or about 11700 KB/s so divided by 60KB/s you're looking at a maximum of 195-200 people watching a video at the same time, until you fill your connection.
You can of course, go lower with the sound, for example 48kbps can sound quite good and if there's not much motion in your videos, you could go by 256kbps at 480x360 or 512x384, for a total of about 310kbps or 38KB/s and around 300 people watching videos at the same time.
Adobe Flash Media Live Encoder I mentioned above should be able to detect the camera. The software is free so you may just as well download and test if the camera is supported.
You're making a confusion between programs and what they do. REL 5 is a software that simply receives an already encoded stream of data and sends it back to one or more people, so it doesn't care about how the source was generated.
You need to use another software like the one I mentioned above which does all the hard work of connecting the camera, getting images from it and encoding the video and audio. It then just sends the encoded data to Rel 5 which then passes it to whatever people are watching the broadcast.
mariushm did a good job on explaining some numbers - I'll just try to make it simpler
depending on the frame rate and compression realistically you are talking about 256 Kb/s - 512 Kb/s - DSL and/or cable could provide such uplink at least for some time - lower bit rate - longer between interruptions.
You don't have to have big drives unless you are storing the data on the server.
Any server, preferably Xeon and up will be good. With Adobe we ave much better experience than with red5. Wowza is good too (as an alternative)
You would need a computer with (very often free) application to uplink your video files to a server. Depending on the number of simultaneous viewers you may need from several Mb/s to 100 Mb/s and up. Math is simple - each Mb/s will support 2 to 4 simultaneous viewers - so lets say 25 Mb/s will support 100 viewers at one time.
Again, your computer plus encoder -> server with Adobe/Wowza/red5 -> viewers.
Professional Streaming services - http://www.tulix.com - info at tulix.com
Double optimized - AS36820) network, best for live streaming/VoIP/gaming
The best quality network - AS7219
Yes this is true Adobe Flash Media Encoder is good software and regarding usb camera is enough, but since i got wifi camera Vivotek PZ7122 (includes rtsp Quick time stream), on my desk i would need to get it working with any Encoder such as Adobe, but didn't see any option in adobe - any recomendations ?.