How To Make a Live Streaming Website Like Twitch.TVWritten by Solomiya on August 16th, 2016
Live streaming is on the rise. Get to know how to develop a profitable solution and what do you need to think about at the start to cater the growing millennial market!
Late in 2014, Amazon purchased Twitch.TV for $970 million, winning a bidding war with Google.
Because Twitch has a huge user community, including 50% of all millennials worldwide. Founded in 2011, Twitch.TV was established for gamers – gamers who wanted to livestream their gaming activities, by creating channels on Twitch and streaming videos of themselves playing in real time.
Now the decision to make a live streaming website like Twitch didn’t just come out of the air. It was actually a spin-off of Justin.TV which had been created long before the current disruptors, Periscope and Meerkat. And it has taken its place among a large demographic.
But it is, after all, a website dedicated to gaming. There is room for many more possibilities, such as movies streaming websites, news streaming, sports streaming, etc., all based upon appealing to a particular demographic interest and, as well making some serious money for owners.
If you have an appealing idea and have decided to create a live streaming website, you have a learning curve ahead of you. On the other hand, if you have some skills with website development in general, that curve may be a little less sharp and long.
The following steps will take you through the process of how to make a video streaming website like Twitch.TV – one that has the potential to attract a lot of streamers/channels, and put you on the map.
Decide on Your Platform
What is it going to look like and who will be on it? You have some options here:
- Will you be doing all of the streaming yourself?
- Are you going to have some type of video conferencing/chat feature?
- Will other people be allowed to establish channels and streams too? (This is what Twitch.TV does, of course)
- If you allow others to stream, will you charge them to do that or will you give it free of charge and earn money in other ways?
You have to make these decisions upfront because they will impact on how you’ll make a streaming website and how you’ll provide for scaling later on if you choose to begin only with you streaming.
Most successful live streaming websites have the following elements so you should probably consider these too:
- A “one to many” model. This means of course that you will not control or limit your audience, but can be reached by anyone. One-to-one models are for individuals who only want to stream to close family members or friends. This impacts on how your site is developed.
- Allow new streaming sign-ups at no charge – this is how to generate much greater interest, but not how to monetize your site anyway.
- Make sure that your site generates a new and unique channel for each sign-up and have elements that allow them to customize. As well, each person must have a key code so that only s/he could stream to that channel.
- Be certain you have a live-chat feature for each channel – most everyone who live streams on a one-to-many platform wants this.
Consider some of the most successful streaming sites right now. Of course, there are streaming movies sites, but there are also others, like Ustream.TV and Livestream.com, sites that have carved out strong demographics and that also have all of the features mentioned above.
Note: There are some “canned” solutions out there, such as a WordPress plug-in called Video Whisper, for example. The problem with them is that you cannot customize for what you want specifically and most are pretty confusing. You are much better off using Java, because it is a good language for high-load applications.
The other important consideration is this: the cost to develop a live video streaming website using one of those canned solutions can easily run $1000+. Still, you won’t have exactly what you want. While you may want to use WordPress for your site design, you may want to explore other tools for coding all of those customizations you want. Again, Java will work best.
Get Your Licensing
If you go through Amazon EC2 for your license, you will be allowed to have a free trial by companies such as Wowza. You can choose from small to large instances, depending upon what you want to do at the beginning, and you can continue to
scale up as you grow. The other advantage here is that going through Amazon AWS, your instance will install with a few clicks.
You Need to Plan for Scaling
As you create your platform, you will be engaged in lots of linking with your server. Don’t ignore this, and think ahead. Do a little research and pick up some ideas about how to plan ahead to build a site that will scale. What works for your startup purposes may not scale without advance planning.
You will eventually need a CDN so you are better off signing up for it now. It means you will need a full license, but it will be well worth it. Your video files may be pre-cached, meaning the user won’t have to download them. Again, a good CDN usually offers localized data centers, meaning the foreign users won’t have to make a number of trans-continental electronic hops when they want to access your files.
If you try to add a CDN later on a sub-par architecture, you will have to revisit all of your source code and relink it – this is tedious and irritating. Avoid it and invest into a custom CDN solution early on for a truly robust speed. If a CDN is out of your budget right now, we can offer an easy-to-scale workaround solution for your live streaming website.
The key takeaway here is that you want to develop a video streaming website that can scale with minimal effort on your part. Talking of which, don’t forget about the next essential point:
Choose a Reliable and Powerful Hosting From Day One
Live streaming requires a lot of bandwidth power to function seamlessly. No one likes those “frozen” videos, especially when we talk about gaming and multiple users accessing the same video at the very same time. If you fail to invest in a decent hosting solution early on (a VPS or better an SSD hosting), your app won’t make it in the long run.
What constitutes an appropriate bandwidth for a live streaming website?
- One user requires 4 Mbps to watch a 720p video in real-time.
- Hence, 2.500+ users will require 10 Gbps to watch the very same video simultaneously.
Your servers should be capable of handling high load and feature top performance at all times. Our development team can advise you on the right pick, based on your project specifications and code incredible efficiency into the servers.
Don’t forget – migrating to a more powerful hosting later on may require much more hassle and investment, rather than choosing an appropriate, easy-to-scale solution from day one.
Getting Your Theme
Make sure your website is well-optimized both for web and mobile visitors as the majority of video traffic now comes from mobile as well. You don’t want your users to wait for ages till their stream loads, right?
Creating Those Channels and Setting Permissions
Here is where things begin to get a bit hairy, but video streaming website development is not like setting up an ecommerce site. Here are the critical aspects:
- Every streamer must have his/her own channel
- Every streamer must be given permissions to access and edit his/her channel according to what you want to allow.
- The goal is to keep each streamer in charge of his/her channel and to prevent anyone else from getting into another’s channel and messing with it.
You have to make sure that no one can delete yours or anyone else’s files/uploads as they are uploading their own stuff.
Additionally, you should allow users to lock-in their profiles. Since the username, the channel name, and the permalink have been set up to be the same, you don’t want users to be able to change that name. It can really mess things up.
Last, but not least – storing those video archives.
You don’t want any user uploads to get lost or corrupted, do you? Apart from that, you should ensure that the videos can be pulled out of those archives and displayed fast. The best strategy in this case is the following:
- Create two dedicated storages.
- Use an SSD storage to keep the newest and most popular content at the fastest reach. Obviously, you can keep all your data at SSDs, however that may cost some top dollars.
- Use a less powerful (and cheaper) storage type to host the remaining, less popular video data.
Now the trick here is to build an efficient mechanism for transferring the files on demand between the two storage types. Romexsoft team can advise you on that.
Setting Up the Chat Feature
This can be a bit of a challenge, considering you may not have set up chat options before. But, however, there are three options that will work:
- IRCv3: This one requires that you set up and run a server. The plus side is that you have more options for customization and that can be nice.
- Ejabberd: This is much like IRCv3 in that you do have to run a server. But again, you’ve got lots of options.
- Firechat/Firebase: Fewer options but no server required. It is open-source and has lots of great features, but customizing is tricky. You can download this on GitHub.
Now that you have mastered how to make a video streaming website like Twitch.TV, you understand how much work is involved, and you are probably ready to make some money. Earlier, it was recommended that you allow users to sign up for channels free of charge. Twitch.TV has found a number of ways to make money, among them the following:
- Once you are “on the map” you can offer advertising to targeted businesses that appeal to your demographic. These ads can appear as soon as your site is opened and change out regularly, depending on the number of advertisers and price they pay.
- Your streamers may want to run some of your ads and share in the revenue.
- Users can opt out of ads through an ad-blocker fee.
- Partner up with retailers who appeal to your users and offer gear on your site – t-shirts, etc. – you get a piece of the action.
Twitch did a great job of monetizing its site, and that’s a big reason for it getting snapped up by Amazon for that big price tag.
Now Let’s Talk Reality
You may have a great idea of a live streaming website, you have done the research, you have isolated a solid demographic, and you believe that you can get streamers to come on board pretty quickly with some targeted marketing.
Here’s the problem.
Designing and developing this website, even if you have some coding skills, is a lengthy, tedious, and time-consuming process. Not to mention the fact that you will then spend time debugging what you have done, and testing, testing, testing to make sure everything is fully operational just as you want it to be.
Here’s the solution. When you make the decision to get this all accomplished by some real pros, you can sit back, relax, and enjoy the process of development as you are kept into the loop on every step. This is how Romexsoft operates. And we have solid experience in live streaming services.
Give us a call and let’s discuss how we can give you the live stream website like Twitch that is just your dream right now!