Search code examples
httpvideovideo-streaming

video server supporting Http


I want to setup a video on demand server which support Http protocol. It is like Youtube, which hosts a lot of videos, and end users could play them from browser (by using Flash or Html 5).

Two quick questions,

  • For the big video files, shall I put them on disk or in memory? How Youtube or other big video site did it? Not sure if put all video in memory is too expensive, and put video on disk is too slow?
  • Is there any open source video hosting server for my purpose? If steaming is supported, it will be great.

thanks in advance, George


Solution

  • If you just want to have an HTML page that links to your video files - no problem, but most browsers will download the entire file before you system even considers playing it.

    If you want to stream the files (like YouTube and others do) then you aren't actually using HTTP for the video itself. HTTP is used to get the information about the stream so your player can stream and play directly without having to download the entire file first.

    Streaming video uses RTSP (or some other streaming protocol) for the audio and video data.

    The closest HTTP protocol can get to "streaming" video is to use Server-Push of individual image frame with each frame flagged to replace the previous frame. Not all browsers can handle this directly, but might need an ActiveX control or Java Applet. The original QuickTime did this before the streaming protocols were implemented at the servers.

    re: how does YouTube deal with big video file

    I suspect they are on disk until they are needed. Moved into memory only as needed. Flushed from memory when no longer needed.

    re: is there an open source video server for my purpose

    YES! Check out http://www.videolan.org/

    -Jesse