It’s easy to get a website up and running and even show some video, but if you need better control over your video content than youtube will give you, then keep reading to get some pointers for making better decisions.
Our current project – The Slum Challenge – is (so far) built as a pure front-end solution. Structure is XML-based and there is no need for a specific server language to handle dynamic pages. The branching structure contains 49 videos of different size (20 – 180 mb).
The default approach for hosting such a solution would be to select an inexpensive web-hotel and serve everything from there.
Almost every cheap webhost will promise unlimited transfer and basic functionality. Their solution will probably serve most of their clients needs who will never experience traffic peaks when the internet finally fancy their content and load times becomes unbearable.
But a regular web hotel has a limitation that is little known to the average user. The webservers are not optimized for delivery of “unprocessed” files such as videos, but is set up to deliver dynamic files that takes some processing by the server before getting sent to the user.
Hosting video on such a site will often result in a lot of waiting / buffering as the server setup is unfit for this sort of file delivery.
Reading the terms of service will often reveal that hosting video files is prohibited by the webhost, and if such a file is suddenly being requested a lot the site might be shut down by the provider.
To solve the problem with delivering video we will have to look to another solution.
Content Delivery Networks
Also known as a Content Distribution Network (CDN) is the service type to choose for delivering files that don’t need to be processed by the server first. Wikipedias definition defines it as:
A content delivery network or content distribution network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network.
A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, so as to avoid bottlenecks near that server.Wikipedia contributor, wikipedia
The use of a CDN can also be shown visually.
The user receives the file from the location with the fastest response. It might not always be the one closest geographically, but the server with that is under least pressure at the time of the file request.
Unloading files to a CDN will remove pressure from the server hosting your website and make it load faster.
Here is a few terms worth knowing when speaking about CDN
This is the place where you put your files. The CDN service will look for new and updated files in this location and copy those files onto the cdn servers. The origin is usually defines by a web address (IP address or domain name) and can be your website or a storage disk. Amazon and Rackspace offers online storage for such use.
The SlumChallenge has set up slumchallenge.dk as origin and everything in this location will be copied.
The url that points to the CDN network. The default is usually some unspeakably complex url that is impossible to remember. Something like this:
Readability will usually be improved by using a CNAME record.
a CNAME record is set up on the websolution hosting your website. The CNAME makes it possible to rewrite the CDN hostname into something readable. Gamecraft has set up cdn.gamecraft.dk which is much more readable to the developer than the hostname.
CloudFront is a pay-for-usage service that handles static files. The files are distributed to locations all over the world and the users will always receive their files from the place with the fastest delivery times (usually the location closest to the user). CloudFront is easy to integrate with other Amazon services but can also be used with external services.
- Files gets automatically distributed to worldwide locations
- Pricing us for usage only
- Easily to integrate with other Amazon servies
- Looks daunting to non-developers
- You still need to store original files ind another location. Amazon S3 bucket or own webserver
- Is a tool for professional web developers
- Going viral with your content can suddenly become expensive
Rackspace Cloud Files
Rackspace reminds of Amazon on most accounts. Prices are close to the same, and there is plenty of other services to build upon. A great advantage to wordpress users is a plugin for linking files stored in the CDN directly into your wordpress website. And rackspace is connected to the Akamai network ( that is an immense global network of servers). I host files at Rackspace and basic usage is easy to learn.
The default service for watching video these days. Youtube is well known for the colossal amount of videos, ranging from the sublime experience to mindnumbing rubbish. It’s merits and flaws can be listed as such:
- Free hosting of (almost) anything
- Easy to embed in websites
- Free player
- Supports HD
- World wide distribution
- Loadtime varies
- Very limited customization of player
- Interactive features are sparse
- Streaming for own player will give video a watermark
Youtube is a fine tool for serving video but the limitations for integrating it in custom solutions are too significant. And the interactive features are too primitive.
Another video serving site. There is a much higher standard for content and users can buy extra features. But the limitations are still to big for any real use.