Get Started with Media Streaming
Content consumption is one of the most common usages of the internet these days. Whether it be streaming radio and television, or services providing video and audio on demand, people are consuming media online more than ever before.
So if you are creating content you want to share on the internet, how do you get started?
Live or On Demand Streaming?
The first thing to consider is whether you will be live streaming or streaming media on demand.
It’s a given that whichever you choose will end up using a lot of bandwidth, meaning you will need a hosting provider that is capable of meeting your bandwidth needs. The option you choose will make a big difference with regards to the storage configuration requirements and processor usage of your server.
With live streaming, generally the amount of storage required is pretty minimal as the data stream will be passed out towards the destination client as soon as the data comes in from the stream source.
When you are dealing with media streaming on demand, you will need to take into consideration the type of content you are streaming as you will also need to store that media.
In terms of storage, depending on whether you are streaming audio or video makes quite a difference with regards to your storage requirements.
The space needed for HD video requires you to have a lot more storage space in order to store a similar quantity of media.
If you are dealing with user generated content, along with your regular content, then you may also have a secondary requirement for higher CPU performance due to the need to transcode the uploaded media to the format that you are aiming to use for your streams.
How to Stream the Media
Once you’ve chosen the servers you plan to use, the next task is to decide how to stream the media.
If you are planning on using a dedicated client side app or playback script, then you’ll need to choose a compatible server side application with matching protocol.
If you are allowing end users to accept the stream in a playback client of their choice, then your choice of server will depend on how many clients you wish to reach.
This will depend somewhat on the communications protocol that your server uses; common protocols to use are Hypertext Transfer Protocol (HTTP), Real Time Streaming Protocol (RTSP) and Real Time Messaging Protocol (RTMP).
While the former was designed for transferring simple web pages across the internet it can be successfully leveraged for media streaming, although the latter two protocols were both designed for streaming media across networks.
Fortunately, all the protocols have a certain amount of crossover in terms of support from clients and server side software.
Uptime and Availability
Once you’ve decided on how you are providing the source for your content and how you are going to deliver it to the consumer, the final challenge is keeping the whole thing online and available.
This is where things can become rather complex if you let it. On the assumption that you have decided to stream media on demand from files stored on your servers, the simplest and cheapest method would be to keep one copy of a video which stored on one of the servers and direct all the requests to that video.
The downsides to this are that should that video prove popular the server may become overloaded, and should that server have a problem then the content stored on it will go offline. To stay online it’s best to spread multiple copies of each content file over a variety of your servers, monitoring their loads so that your web application can direct streamers to the least loaded server containing the content that they require, thereby keeping the consumer’s experience a good one.
The next step up would be to automate a content distribution system so that your content is automatically copied to an increasing number of servers as it increases in popularity and then reduces the number of servers hosting it as that popularity decreases.
As you can see there’s a lot to think about, but careful planning before you launch your platform can make the difference between a failed or unpopular content provider and a successful streaming empire.