Flash Video can be Progressive or Streamed
What Is Flash Video ?
Flash Video (FLV) is a proprietary file format used to deliver Videos over the world wide web using Adobe Flash Player (Macromedia Flash Player). Prominent users of the Flash Video format are the social networks like YouTube, Myspace, Google Video, Yahoo! Video and a few more.
Technology behind Flash Video Files
Commonly Flash Video files contain video bit streams which are a variant of the H.263 video standard, under the name of Sorenson Spark. Flash Player 8.0 and 9.0 support the playback of On2 TrueMotion VP6 video bit streams. On2 VP6 Video Compression codec can provide a higher visual quality than Sorenson Spark, especially when using lower bit rates. On the other hand it is computationally more complex and therefore will not run as well on certain older server systems. on2 Flix Engine (compression technology) requires Redhat Linux Enterprise Version 4.0 to be upgraded to PHP Developer version.
Flash Video files can be published in two ways :
- PROGRESSIVE DOWNLOAD via HTTP (supported by Flash Player 7 and later versions). This method uses Action Script to include an externally hosted Flash Video file client-side for playback. Progressive download has several Advantages, including buffering, use of generic HTTP servers, and the ability to reuse a single SWF player for multiple Flash Video sources.
Flash Player 8 includes support for random access within video files using the partial download functionality of HTTP, sometimes referred to as streaming.
Disadvantage : However, unlike streaming using RTMP, HTTP "streaming" does not support real-time broadcasting.
Streaming via HTTP requires a custom player and the injection of specific Flash Video metadata containing the exact starting position in bytes and timecode of each keyframe. Using this specific information, a custom Flash Video player can request any part of the Flash Video file starting at a specified keyframe. For example, Google Video supports progressive download and can seek to any part of the video before buffering is complete, whereas YouTube cannot. The server-side part of this "HTTP pseudo-streaming" method can be implemented, for example in PHP or as an Apache HTTPD module.
- Streamingvia RTMP to the Flash Player using the Adobe Flash Media Server 2.0 is the most recognized and implemented by sites like Youtube. An alternative which promises the same quality is the open source Red5 server. However its still not an established server and we are not sure about its performance as none of the recognized social networks have used them.
Conclusion : Social Network Video Publishing requires three components :
- Compression Video Codec that generates FLV file format : on2 Flix Engine is generally the unanimous choice. Single client license costs 3,800 US$. Demo version is also available.
- Custom Flash Video player (you can embed your logo and brand it). Your developer can make this for you or you can order here.
- Streaming Videos require Flash Media Server 2.0. Singe client license costs 4,500 US$.
If you are looking to have Progressive Downloads then Flash Media Server (iii) is not necessary. The server-side part "HTTP pseudo-streaming" method can be implemented, in PHP or as an Apache HTTPD module.
If you are looking to build a social network with video streaming and convinced to go forward immediately, then you can contact us.
Labels: Video Broadcasting