Demystifying Web 2.0 Media (Audio, Video, Document) Sharing Portals

April 19, 2007

These days there is a lot of hype (read the zdnet article here) around media sharing portals. Video sharing seems to be the “hot” thing around, especially after the acquisition of youtube.com by Google, everyone seems to want to have their share in the pie. Because of this there is an increased demand in off-the-shelf as well as customized audio, video sharing solutions. Not surprisingly, we have already worked on numerous similar platforms e.g.

http://www.web-idol.tv This site is not live anymore, but basically it was a video competition website where users could submit their videos and compete against each other for a prize money.
http://www.travelervideos.com
http://www.basementcast.com

Other than these we are launching a few of these in the German market as well. We are also looking to launch a few very high profile media sharing portals in recent future. So the question is what does it take to launch a portal such as youtube? What’s the big deal? What infrastructure is required? Who can do it? Are there any off-the-shelf components available? In this blog entry, we will try to answer these questions. We should probably be publishing a white-paper on this but in the new era of web 2.0, we believe publishing a post on our blog is equally good. In this blog entry, however, we aren’t talking about video sharing only. We will be talking about all sort of media sharing i.e. audio sharing, video sharing, document sharing and file sharing.

For our document sharing portal you can visit:

http://www.lawresourceexhchange.com

For one of our file sharing portals (in alpha), you can visit:

http://www.mymindspot.com

On top of all of this, you can now also create mashups, we just created one. It’s basically a portal that lets you create video playlists from multiple sources such as google video, youtube, videoegg etc. and also lets you upload your own videos. (Since it’s in alpha right now, so we can’t post the link here but will do so in near future.)

Okay, so what technologies are involved?

If you are thinking about creating an audio, video sharing web application there are a few things that you need to take care of:

a. How will your customers upload files?
b. How will you distribute the files to the end users?

Uploading the files is a pretty straight forward job. You can use numerous third-party uploading controls or build a custom control. These could be java applet based upload controls or flash or an activeX control. Though, flash controls have the widest support. Remember that using simple html upload is quite inefficient because they have upload limitations, as well as, they don’t really allow you to have “resume”, or “upload in parts” support.

While distributing the files, you have quite a few options. You could just display the files in the same format as they are uploaded. This could be wmv (windows media video), mov (quicktime), 3gp (movies made from mobile phones) etc. Now if you leave the files as they are, they can’t be played “from” the website and the users will have to download them to be able to play them. This is true even for the most common formats such as quicktime and real media. If your users don’t have quicktime player or a real media player, they won’t be able to view the files. To solve this problem, most video sharing websites convert the videos into flash and distribute them using a flash player. So, in order to reach as many customers as you can, you have to convert your videos to flash and distribute them as flash videos.

For documents, the best way to go is FlashPaper. You can also convert documents into jpegs and display that but FlashPaper provides a much better way to distribute files over the Internet. This is the technology we’ve used in mymindspot.com.

How is audio/video conversion done?

There are a number of solutions available to perform audio, video conversion or for document/file conversions. When you are selecting a tool, remember that it has to be used on server side. Because you would be converting on “server side”, you will have to have an option where you can call the converter program remotely. Now this is the real challenge in any conversion application i.e. how to efficiently use the converter program so that there is not too much strain on server resources. For video and audio conversion, ffmpeg is an open source application that lets you convert between a lot of different file formats. However, you can’t really use ffmpeg directly. In most cases, people build custom applications on top of ffmeg to achieve maximum performance. In most cases, these applications are wrappers over ffmpeg to allow for communication with the web application, and to manage data on the server (remember, when your users upload their files, these are in the original format, so converting them to flash means that you will potentially have two versions of every file uploaded). Also these wrapper applications keep track of all errors that may come during conversion process.

For document conversion, you can use many different tools. There are quite a lot of conversion applications available that allow users to convert between different formats. A lot of these are print drivers that let users print a document into a file rather than on a piece of paper.

What are some other issues that I should keep in mind?

Since it’s going to be a “media sharing” portal so the first thing you should take care of is the disk space. Usually hosting provide up to 250 Gb of disk space. Depending on what you are anticipating you will need much larger disk space than that. Now there are a few ways to go about it:

a. You could make a deal with a data center to provide you a lot of disk space
b. You could use Amazon’s disk services
c. You could build your architecture so that you could add more servers to our server farm easily.

For us the (c) option was the most practical one. We could easily build a scalable application and it was also pretty cheap (and cost is certainly a factor for most entrepreneurs).

Another thing you should take care of is the bandwidth that you’ll require. A lot of people are going to watch videos from your website which means a lot of bandwidth will be required. Typically you can do some simple calculations to see how much bandwidth you will actually require:

Bandwidth required in a month = average file bitrate in seconds (bytes) * number of users expected * (total number of seconds in a month)

This will give you a total bandwidth required (approximately, let’s keep things simple here).

You also need to plan how big a bandwidth pipe you need. This can be calculated by estimating how many simultaneous users will you be getting on your website.

So how do all these people make money?

Well, the model is simple. Just put up google/yahoo ads on your website and pray that people click on them. Then you can get advertisers for your website if it goes big. It’s all about advertising.

Can you guys help me?

Most certainly. Why don’t you drop us a message from here?

Leave a Reply