You will need to have an ffmpeg, mp4 box, flvtool2,mencoder and mplayer, ffmpeg-php capable server. You can also look into red5 media server as an option.
Additional items you would need is a reliable flash player like the ones offered by jwplayer and flowmotion.
If you have a limited bandwidth on your hosting account, make sure to have your video metadata injected with flvtool2 (flv files only), for the h264 and mp4 you can move the moov atom in the front of the video, by using mp4box. These tools will allow you to pseudo-stream your contents without translating all the media file size into bandwidth consumptions.
Lastly, you will need to know all of the basics of ffmpeg-php and the basics ffmpeg encoding commands.
You will need to look for a reliable hosting company. This is the hosting company I used for developing video streaming applications.
I think they also have a ready to install FREE video streaming applications e.g. phpmotion, clic bucket, vidiscript and many others.
MORE INFO. NOT RELATED TO YOUR QUESTION
I was one of the developer of the vidiscript open-source version 1.0 to version 1.3, but that is the old version we wrote that is still being distributed by most ffmpeg hosting companies. I was able to released all the bug fixes two years ago 2010 and then it was followed by major fix for php 5.3+ in my last year release.
I wrote version 3.7 of the open source, but got really busy at my schooling, and then I have to trashed bin all of the 3.7 version because I want to write it as a video content management using my own mvc framework with an option of smarty, twig and tinybutstrong template engines. I am still on track for my projected release date by mid 2013. This will be called veedeoo scripts which is an open source.