Can anyone point me to a how-to on setting up a streaming server? We've got several mp4 videos that we'd like to stream. However right now when someone visits the URL they have to download the whole file before it starts playing.
We're using RHEL Linux 6 and Apache 2.2. Ideally we would like something that works with this setup.
If you've got MP4 videos, then you don't want to stream them, you want to pseudo-stream them. There's a difference between streaming and "pseudo-streaming" which is what's called progressive downloading, allowing a user to watch content as it's downloaded rather than waiting for it to load.
What you're looking for is a program to put the video meta information at the beginning of the file, rather than at the end (which is why the video can't start until that piece is downloaded, the very last piece of the file).
There's an Adobe AIR program called QTIndexSwapper that will do this for you:
Just to clarify, "Progressive downloading" is NOT "Pseudo streaming".
Pseudo streaming is sort of a middle step between True Streaming (you can seek to any point in a pre-recorded video file) and Progressive Download (you can only seek to that part of the video file that has already been downloaded into your cache).
Pseudo streaming is done using a server side script via HTTP, rather than... say RTMP for true streaming. More info here: http://phpmotionwiz.com/what-is-pseudo-streaming
Since it uses HTTP, it's generally cheaper to implement than True streaming, (since it can be done on a regular Web server, rather than a streaming media server) though it still usually requires your own dedicated server to install the script on.
But yes, if you are having to download the entire file (older QT files are notorious for that) it's because the MOOV atom is at the end of the file rather than the beginning.
Swap Index and then progressive download... much cheaper and easier than either pseudo or true streaming.
Eye for Video www.cidigitalmedia.com
Thanks for correcting my terminology, EyeForVideo...was it that obvious that I had a general idea, but was faking it? Now I know how to explain the difference to people in the future. For a site I did in the past I needed to use QT Index swapper AND set up a pseudo-streaming script, simply because I think it's nicer to your visitors if you have a long video that you give them the ability to jump around instead of downloading the entire thing at the very beginning, progressive downloading or not.
You don't need a dedicated server to set up pseudo-streaming, however, any old server that supports server side scripting will do.
I've switched careers...
I'm NO LONGER a scientist,
but now a web developer...
Thanks for the reply!
As for needing a dedicated server... it's not that you "need" a dedicated server but rather that some Web hosts will not allow you to install the HTTP streaming on a shared server.
Anyway, pseudo streaming is great for that ability to "seek" into the video.