Creating and maintaining a ROKU/TVOS/Android video/audio channel is a costly business. I will show you the best and mostly free way to run your own with the least hassle on your own server / cloud server, in a few steps for something like 10$ a month!

Introduction

Are you a content creator (creating your own video/audio content), content provider, content aggregator or some guy that has an idea about an amazing roku/tvos/android app that aggregates content ? Follow my steps and you will have a working Roku/TVOS channel in a few minutes with your own remote management!

Overview

You will be running on your own server an application that will be used to control some xml feeds and scripts. You will be able to manage your media sources (images, sources, descriptions) and have a basic categorization with images. When you finish the initial setup you will generate clients for different platforms or use the excellent direct Publisher program by Roku using the generated feed. I have made most of the work, so all you will need to do is to put together my pieces on your environment — no coding needed.

Instructions

Note that my tutorial has some affiliate links mostly for your benefit as you get some free credit for example for the web hosts. You do not need to use the services I suggest, but I guarantee that if you follow my steps exactly you will have exactly what I promised, a working channel.

Requirements :

A server to host the controller application. I will expand more on this later as it depends on your needs Media or media sources. You can have mp4 files or other compressed video files served from your webserver or a CDN. You may also have just m3u8 links from other sources — in this case you can do all this very cheap as the server will be minimal. Bandwidth. Your server will need some bandwidth to serve media files if you are serving your own files and you expect too much traffic. I will expand more on this further down as this affects your choice of server Logos and graphics. You will need several image sizes for your logos, application screenshots, splash screens, and media items. I hope you can use photoshop or any other tool like GIMP, or have a graphics guy ready. Presentation is king if you want to be successful. I have created templates that will replace default images with nice text etc, but still , you need at least logos and placeholder images.

About the server requirements

There are 2 factors to take into account here. Server size (cpu , ram) and bandwidth. This requires another big article to analyse, but in short, lets assume you have an mp4 file to server at 720p and the consumed bandwidth will be around 1Mbps per user. Assuming one user will be watching this file on a loop 24/7 , it will consume on your server about 150GB-200GB per month (320GB is the real value). Of course there is no way you will have one user watching 24/7 but you will have many users watching from 1 minute to one hour depending on the content several times a month. There are 2 factors to take into account here when you are shopping for a host. The host needs to have enough concurrent stable bandwidth so that you can for example have 500 people watching at the same time (500Mbps) and enough total bandwidth per month on the allowance. Bandwidth is really expensive, and most of the offers you will see will be like : 2TB total bandwidth for a VPS on a 1Gbps port, or at most 100TB for a dedicated server with a 500Mbps guaranteed and bursts to 1Gbps. After that extra bandwidth might be 250$ for 320TB etc. For the above VPS you would pay about 10$ a month, and for the above dedicated about 70$ per month (but with lot better specs than the VPS).

There are 2 user cases here, one is with an application that you server your own files, and one where you server remote files. For the reasons above, I won't expand more on the subject but I will state this :

Use a VPS if most of your videos are hosted elsewhere

Use a dedicated server if your videos are hosted on the same server

Also don’t just go and get shared hosting for 3$ a month. You will need your own server for this. Truth is that although my instructions are good for hosting your own files, the best is to host your files somewhere else or served from a media server such as : unreal media server, nimble streamer, wowza media server, windows media services etc. I will expand more on this on another article.

VPS

I recommend digital ocean. on the 10$ a month gives you 2TB per month which is more than enough if your files are hosted elsewhere or you just have a few mp4 files. If you use my link you will get 25$ for free (or whatever is on offer when you read this article). Thats a great way to test my concept really, and very cheap to operate in general. You could try the VPS and then head to a dedicated server as it is more advanced. With Digital ocean you could also spin up a wordpress website with a click. This will not be happening with a dedicated web server. Requires more and more effort.

Dedicated server

I have searched lots for dedicated servers that offers the most bandwidth for an affordable price. Most of them claim they offer unmetered connections but if you email them there will be a “fair usage policy” etc. also you might be tempted with servers that offer unlimited bandwidth on a 10Mbps port. This looks great but it is not! Remember? 10Mbps is just 10 concurrent users. So you need to go for at least a 500Mbps port. After long searches, I can only recommend : Redswitches . They are based in Australia and will offer you a server in the US or Amsterdam etc. They will get the server from LeaseWeb, another company that sells servers in bulk to most of the server providers, but you will never find the offers they have on leaseweb, unmetered.com, servers4you etc. And most importantly you will get the 100TB on a 1gbps port.

For this tutorial , I will be setting up the server on a VPS in digital ocean as it is the cheapest option to show you my concept. If you already have a server of course you dont need to do anything of the above and I will be happy to help you if you have any issues if you comment on this article.

THE ACTUAL TUTORIAL

First go digital ocean and open an account

Just follow my screenshots!

For the last step, you dont need to enter a real domain but if you have one will be great.

When you are done, go to your droplets, and you will see your droplet is created

Go ahead and visit http://128.199.251.33/wp-admin or whatever your ip is to go and setup your wordpress installation. The wordpress installation is straight forward, I ll let you do it with no further instructions.

If you’ve done everything correctly, you are ready to install my plugin. Go ahead and download my plugin from here : https://goo.gl/Djg1xp and save it somewhere

Login to your wordpress and follow screenshots :

We will first download another plugin we need. Install and activate the categories images plugin :

We will then install my plugin manually using the file we downloaded earlier (ielko-video-client-master.zip) as I have not listed it in the wordpress directory (yet)

We are ready to roll!

This plugin creates a new post type :

All you need to do now is to go ahead and add some categories. Here is a suggested structure :

Main category : Live Video

Subcategory 1: Video Category 1

Subcategory 2: Video Category 2

Note that my plugin supports one level only so those subcategories will need to have Live Video as the parent

Now go ahead an add new items :

The following screens are self explanatory :

There are many features in development that I will not analyse here, such as a dead links checker that will monitor your feed for dead links, or the way to exclude private links from your feed.

Go check the settings screen :

As you will see there are certain settings to tweak here. When you have finished you can grab a non-compiled version of a client for TVOS and ROKU (SDK) or just give a feed to your programmer to make you another one. There are several other of my projects on github that make this automatic generation of the client to happen. You can see all my projects here : https://github.com/upggr/

In this tutorial I will focus only on the ROKU DIRECT PUBLISHER (https://developer.roku.com/en-ca/publish)

As you will see on the settings page you already have a feed for the direct publishing feature. If you have :

Added categories Added media Uploaded a default placeholder image in the settings page

You are ready to go publish. So just go enroll on the development program in the ROKU website and go add a channel. Follow screenshots :

There are plenty of steps for you to complete there, but the most important, the feed, is done already byt my plugin earlier

So just go ahead and enter it in the Feed URL section!

Then on the feed status you can retrieve it

You are good to go! My plugin would give roku exactly what they need. even if there was no thumbnail for the media, it would generate one for them, attach time, and all other complicated info roku requests.

You can now install the channel in your roku and see what you’ve done, then submit it to the roku store and start monetizing!

You can thank me in the comments or suggest alternatives, or even request new features or feeds for my plugin. You can also support me and follow me.

Next articles will be on how to save the cost of a media server like wowza using opensource software and serve your own hls or operate your live tv station.

You can connect with me on linkedin or browse my github projects or drop me an email