Target setting
The main target is creating the system to provide service for working with video podcasts (a collection of video files which is distributed over the Internet using syndication feeds for playback on portable media players and personal computers) recorded by users and uploaded to the server. The access to the video should be provided on user’s request or via user’s connection to the broadcasting channel in real time. A number of users (privileged ones) should have the ability to create the podcasts (i.e. to upload digitized video of standard formats (AVI, MPEG2) recorded by personal video camera). All the users should have the ability to review the podcasts via web-browsers as a part of web-page.
The means of video information access:
Downloading
To play video on your computer you must download it fully. HTTP protocol is used.
Progressive downloading
The method of video publication that lets you start reviewing when a small video file part is downloaded. Further download is running at the same time with viewing. Using progressive downloading you are not able to view the fragment which is after the current one. HTTP protocol is used.
Streaming
This publication method requires additional software: streaming server. Video information is given to user in the form of a stream; streaming video player is required to view it. Regardless of the fact that streaming server has it’s own format for streaming media, some of them support MPEG-4 streaming (Darwin Streaming Server/QuickTime Streaming Server, Helix Server for example).
Real time streaming
Streaming delivers media from a server over a network to a client in real time. Media is played by the client software as it is delivered. As a result the one of real time streaming features is centralized data transmitting from the server – this means that user cannot move along the fragment time line at his own choosing. This broadcasting method is usually used for television broadcasting or video conferences holding (so-called “live-video”).
The main tasks of network video streaming
Streaming video realization
Nowadays there are four large companies which are engaged in streaming video broadcasting elaboration. They are: Apple, Real Networks, Adobe and Microsoft. Apple is represented by commercial QuickTime Streaming Server and it’s open-source analogue – Darwin Streaming Server. Adobe has improved Macromedia Flash Communication
Server and released it under cover of Flash Media Server brand. Besides, they have open-source streaming FLV server Red5. Real Networks supports streaming server Helix. Users of Microsoft Windows Server 2003 are able to use for free Microsoft Video Server which can broadcast streaming video and audio in the special Microsoft format: Windows Media Format.
Format conversion
As not all video formats have streaming capabilities. So special tools are required to convert video files from the user’s format to the format suitable for streaming. There are several applications able to carry out the task effectively. One of them is – ffmpeg -the application that can convert video files to different formats. It also has one undoubted advantage – the ability of launching in the batch mode to convert formats in automatically. The main weakness of the application is some complexity of settling and additional enhancements and libraries installation. This application can be also compiled in the form of static or dynamic library for further usage in C/C++ projects. We should also mention Windows Media Encoder for Windows systems, as it belongs to Windows Media Series and allows converting video of multiple formats. It’s possible to develop own components on the base of Microsoft Windows Media 9 Series because of Windows Media SDK enhancement opportunities. This program package for Windows 2003 Server is freeware.
Adobe Flash Media Encoder is another video encoding tool which allows to encode files into FLV format (Sorenson or on2 codecs). It can be run from command line or in GUI mode.
Video embedding to the web-page
Video embedding is realized with the help of ActiveX objects (for IE) or plug-ins. Personal variant of video implantation to the web-page is realized for each of the presented servers. Video streaming by the means of Apple servers (Darwin/QuickTime Streaming Server) as well as by Helix server of Apple-compatible format (RealNetworks) is broadcasting with the help of built-in QuickTime player.The interface of the player is leaving unchanged as a rule. There is a standard toolbar with the option to hide it and some kind of API to control playback and current state of video. The widest specter of different players is used with FLV (Flash Media Server, Red5) because of development easiness of Flash applications for FMS/Red5 interaction and reach means of Flash development environment (actually, there is only one Flash FLV player, but it is “wrapped” in different Flash applications). But the high price of Flash Media Server is it’s undoubted disadvantage (especially for a huge amount of connections). One of the features of FLV format (Flash Live Video) is the ability of video progressive downloading from the server without FMS using. This way video won’t be streaming. The playing of streaming video broadcasting with Windows Media Server is possible by means of ActiveX or Windows Media Player plug-in. Another platforms use third-party players such as Starbak Embedded Streaming for Linux. Built-in component VBrick is also required for playing streaming video in Windows Media formats. It is also required to build-in RealPlayer or similar third-party player into the page to be able to play video in RealVideo format from Helix server.
The variants of system deployment
Streaming video system based on Apple Darwin Server
Server side: free of charge Darwin 5.5.1 server with the open source for streaming broadcasting.
Player:QuickTime 6 player built-in into Web-page.
Video converter: ffmpeg (realization for Windows or Linux).
Additional requirements: dedicated server for video formats converting (desirable).
Podcasts adding: user uploads podcasts to the server. A queue is formed for transcoding the podcasts into the format of MP4 or HINTED MOV for streaming. The podcasts could be reviewed by users after a time.
Podcasts review: is realized in streaming mode inside the certain web-page.
Advantages:free of charge streaming broadcasting server, ready to use player built-in the web-page.
Disadvantages: impossibility to change the player’s design, the need of resource-intensive conversion of podcasts’ files format after adding.
Streaming video system based on Flash Media Server 2
Server side:Flash Media Server 2.
Player: Flash-application that supports file playing.
Video converter: ffmpeg (realization for Windows or Linux) or Flash Media Encoder.
Additional requirements: dedicated server for video formats converting (desirable).
Podcasts adding: user uploads podcasts to the server. A queue is formed for decoding the podcasts into the FLV format for streaming. The podcasts could be reviewed by users after a time.
Podcasts review: is realized in streaming mode inside the certain web-page that contains Flash-application.
Advantages: the ability of using your own player, application development flexibility thanks to Flash-technology, video of high quality.
Disadvantages: Flash Media Server cost.
Streaming video system based on Red5 Server
Server side: Red5 open source server.
Player: Flash-application that supports file playing.
Video converter: ffmpeg (realization for Windows or Linux) or Flash Media Encoder.
Additional requirements: dedicated server for video formats converting (desirable).
Podcasts adding: user uploads podcasts to the server. A queue is formed for transcoding the podcasts into the FLV format for streaming. The podcasts could be reviewed by users after a time.
Podcasts review: is realized in streaming mode inside the certain web-page that contains Flash-application.
Advantages: free of charge FLV server, the ability of using your own player, application development flexibility thanks to Flash-technology.
Disadvantages: Small number of concurrent connections (no more than 15 for stable work), Java SDK is required, possible changes of RTMP protocol specification by Adobe company.
Progressive download system based on FLV
Server side: Web server. Streaming server is not required.
Player: Flash-application that supports file playing.
Video converter: ffmpeg (realization for Windows or Linux) or Flash Media Encoder.
Additional requirements: dedicated server for video formats converting (desirable).
Podcasts adding: user uploads podcasts to the server. A queue is formed for transcoding the podcasts into the FLV format for broadcasting. The podcasts could be reviewed by users after a time.
Podcasts review: is realized in progressive download mode inside the certain web-page that contains Flash-application.
Advantages: the ability of using your own player, application development flexibility thanks to Flash-technology, video of high quality, no need in streaming server at all.
Disadvantages: broadcasting is not streaming, there is no free access to the podcasts’ fragments, the need to download all the file including the fragment required.
Streaming video system based on Windows Media 9 Series
Server side: Windows Media Server for streaming.
Player: Windows Media Player 9/10 player built-in into Web-page or third party player.
Video converter: Microsoft Video Encoder.
Additional requirements: dedicated server for video formats converting (desirable). Operating system – Windows 2003 Server.
Podcasts adding: user uploads podcasts to the server. A queue is formed for decoding the podcasts into the WMV format for streaming broadcasting. The podcasts could be reviewed by users after a time.
Podcasts review: is realized in streaming mode inside the certain web-page.
Advantages: free of charge streaming server in case of Windows 2003 Server OS installed, ready to use player built-in to the web-page.
Disadvantages:
impossibility to change the player’s design, the need of resource-intensive conversion of podcasts’ files format after adding, the need of Microsoft Windows 2003 Server OS installed, possible problems with video reviewing on the PC with OS different from Microsoft Windows.
Do you like the article and want us to develop your project? Feel free to contact us here!
This entry was posted on Wednesday, January 9th, 2008 at 10:23 am and is filed under Architecture, Flash, Video.