In general, the only way to prevent users from downloading your videos is to really stream them via the server. The "emulated streaming" via showing already preloaded video frames will be always "hackable" one way or the other, because in the end you need the player software to know the address - which of course is the full .avi/.mp4/.whatever.
There are quite some streaming servers, also some open source ones are available. A good starting point may be this list. For Linux, Darwin might be one of the best options.
Once you really stream your content, only very advanced users will be able to grab your content by using streamgrabbers (I think there are even servers where this does not work, e.g. Adobes streaming solutions).