Picture of How To Create a Private Roku Channel

This tutorial is based on the Videoplayer Roku SDK sample.

Before you begin, here’s a list of the things you’ll need to install a private channel on the Roku Streaming Player:
1. Roku Streaming Player with Software Release 2.7 or later
2. Roku SDK (Development Kit Documentation and Sample Applications)
3. Development Workstation with Text Editor and Terminal Application
4. Standard Web Browser (Firefox, Internet Explorer, Chrome, Safari)
5. FTP Program
6. Graphics Editing Program
7. Hosting Provider
8. File Compression Utility


Roku Private Channel Demo from llmconsultingdesign on Vimeo.

Update: Here is the demo of the channel I created for my book Bootstrap Broadcast. I will update this tutorial in 2015.


Bootstrap Broadcast Roku Video Tour from Lacy McDowell on Vimeo.

Step 1: Account and Directory Setup

Picture of Account and Directory Setup
Create a Roku account if you have not done so already.  

Link your Roku device to your account.

Sign up for a developer account.

Enable developer mode on Roku device.  By default, the developer page is not enabled. You must enter the remote code using the Roku remote to enable it.
Home 3x, Up 2x, Right, Left, Right, Left, Right 

To verify you have enabled developer mode, go to any web browser on your network and enter the IP address of your Roku device.  To find the IP address of your roku device, go to home screen on Roku Player.   Go to Settings –> Player Info.  Once you enter the IP address in the web browser, you should see this window: see 2nd photo above.

Create a directory for testing SDK files.  I created one called C:\ rokudev.

Create another directory inside the one above for the SDK.  I created one called C:\ rokudev\RokuSDK.

Download Roku SDK to your computer, then extract the compressed archive to the directory you created above.  

Create two more directories inside the first directory for all the test files that will eventually be zipped and installed on your Roku device.  I created one called C:\ rokudev\Roku_LT\, the name of my Roku device. My final directory tree looks like this: C:\rokudev\ RokuSDK  and C:\rokudev\ Roku_LT. 

GavinS78 days ago

Thanks for this, easy to follow and a great introduction to Roku developing. Now to go have some more fun :) Thanks again, appreciate the effort.

llmcd (author) 2 months ago

A full update to this tutorial is coming soon. It will give you step by step video instructions for creating roku channels. It will go beyond the basics and dive into the Roku Brightscript code and custom roku channels.

llmcd (author) 2 months ago

A full update to this tutorial is coming soon. It will give you step by step video instructions for creating roku channels. It will go beyond the basics and dive into the Roku Brightscript code and custom roku channels.

RobertC242 months ago

Been stuck at the baby step of generating the genkey for weeks now. I'm about to give up. I've tried different browsers and telnet apps, both Mac and PCs, followed lots of advice from other helpful boards, and viewed many different instructions online on how to create your own channel.

But whatever I do, I can't connect to the Roku via telnet to get a genkey. The connection always fails.

As the genkey comes from the Roku box via telnet anyway, surely there is a way to get a genkey from the Roku directly, through a menu/info choice?

This is 2015. You shouldn't even know the word telnet unless you are a developer from the 90's.

llmcd (author)  RobertC242 months ago

I have also had much success with Putty for Windows.

llmcd (author)  RobertC242 months ago

Don't give up yet! Send me your Roku model specs and the list of apps you used to connect to your Roku player all to my helpcenter page athttps://preonline.zendesk.com/hc/en-us

Click Submit a Request on upper right corner of page.

AnthonyG54 months ago

How do I change my Private test page into a public channel without starting over. It is saying my Vanity code is already in use because i used it on my private channel

llmcd (author)  AnthonyG54 months ago

Hi Anthony. You can upload the same package file from the private channel. If you have not created a priavte channel via roku.com, on the Development Application Installer page, click on packager. Give your app a name and version#. Example: myapp/1.0

Put in your dev password and hit ok. Click on package file to download. Upload the Roku for approval.

AnthonyG5 llmcd4 months ago

Thank you. I was receiving a problem with it saying my Channel Name was already used in use because i used it for my private channel. Was trying not to have to change my Channel Name

Hi Lacy,

This tutorial was very helpful, thanks for posting it.

I'm trying to develop an categorized music channel, and running into a wall. The structure is Genre-Artist-Videos. It seems that something similar to how Netflix categorizes TV shows into seasons and episodes would suffice, but there aren't any examples of episodic categorization in the samples in the SDK. Could you offer a bit of guidance?

llmcd (author)  collwyn.cleveland8 months ago

Hi Collwyn. Sounds like you could accomplish this with roPosterScreen (flat-episodic) component. Have you looked at the SimplePoster in the SDK? It's just one .brs file. You may be able to build out your categories with XML or JSON. There is some generic code you could find on the web, but you will have to sanitize and tweak the code to your liking if you are using it for non-profit purposes. Check out CCMixter. There is a GitHub page with the code. It may be what you are looking for. It's audio using MRSS feeds, but feeds can be used with video as well. I just created a channel for my son using rss feeds to pull gdata from YouTube for only the content he likes. Hope this helps.


Hey there, I'm watching your videos on Vimeo! I like it, working on the .xml file now. I was wondering how do you get the xml file to automate from the videos I own and publish to Youtube. Is there away for the xml file to update on its own using a Youtube feed?

llmcd (author)  james.valles.185 months ago

Hi James,

Here is a link to a sample channel on Github. https://github.com/Protuhj/myvideobuzz

You will need to clean up the code and insert the gdata from your YouTube playlists. I have done this for my son on Roku. I created a private channel that only pulls his favorite shows. If you do use the code for more uses, be sure to give credit to the author or consider making a donation. Are you familiar with obtaining the correct urls for your YouTube playlist and videos? If not, contact me on twitter, @mcdlmac or on my helpcenter page at https://preonline.zendesk.com/hc/en-us. Click on the submit a request button on the upper right of the page.

llmcd (author)  DoloresB15 months ago

Hi. Thanks for the great feedback!

ChristopherN36 months ago

Very very nice tutorial. I just followed your step by step tutorial a month ago and was successfully published my channel. It was an amazing experience.And now just for sharing I found a very easy to create Roku Channnel, 3 minutes I got my channel published to roku.com, here is the link http://www.findstep.com

Once again thank you for the great contents.

ralph.trynor6 months ago

Being new to this I did get everything to work but looking through the code I can not find how to change the color of the text or change the background. Can anyone help with this?

llmcd (author)  ralph.trynor6 months ago

Hi Ralph. I can help you offline. Send me more details of what you are trying to do. You can change the background color, OverhangSlices and Logos, but if you want to change the background image completely, you will have to change the canvas style.

klucas5149 months ago
I need a channel
llmcd (author)  GaryV19 months ago

I recently wrote a book on the topic. The book is titled, Bootstrap Broadcast: A Hands-on Guide To Delivering On Demand Media With Roku Channels. You can find it on Amazon at http://www.amazon.com/dp/B00NE7EGEM and check out my website at http://bootstrapbroadcast.com

llmcd (author)  GaryV19 months ago

I recently wrote a book on the topic. The book is titled, Bootstrap Broadcast: A Hands-on Guide To Delivering On Demand Media With Roku Channels. You can find it on Amazon at http://www.amazon.com/dp/B00NE7EGEM and check out my website at http://bootstrapbroadcast.com

llmcd (author)  GaryV19 months ago
Gary, your course looks nice.
llmcd (author) 1 year ago

Hi. Sent you a detailed message about the this topic.

Dalank llmcd1 year ago

Thank you !! i got it , may i ask you more question please , i did used sdk and everything is ok but i want to know how to change back ground color or if i need to use image bg and another thing is how to add normal xml page contain only text like info instead of the mind.xml that contain image and movie data ? i tried to put text but after click still retrieving ...

llmcd (author)  Dalank1 year ago

Hi Dalank. I am little confused. Do you want to change the background color of the elements on the channel canvas? or background color for a splash screen? As for text, do you just want to create a channel with text only? Are you trying to parse xml files with metadata only and display that on screen? The more specific you can describe what you are trying to do, the better.

Dalank llmcd1 year ago

Hello !

I want to change the Theme colors and backgroud of splash screen and behind the categories , and yes i need to know how to do a simple xml file contain text after clicking in a category and my last question how to add a pasword for a category when they click on.

llmcd (author)  Dalank1 year ago

Hi Dalank. You can change background colors of your splash screen in your manifest.


As for the text element, it sound like you can add text by calling the roParagraphScreen component in your brightscript. I not sure about doing it with XML. I only use XML and JSON for video and audio URLs. This might be something you could discuss further in the Roku Forums site. There are some really smart folks there that could give you a better answer than I could.


Hope this helps.

Dalank1 year ago

Hello , thanks for this tutorial but i have a question , how can i re stream or retrieve feed from youtube videos to show it in my private channel?

mkecibi1 year ago
First of all thank you the explaniation very helpfull
I have a question : how to add a real steam url of a real channel to roku
and to get a stream url
Thanks in advance
In order to integrate an existing third-party live stream to a Roku channel, you would first need to make sure the stream is delivered using either HTTP Live Streaming (HLS) or Smooth Streaming (ISM), which are the only two supported technologies for live streaming in Roku.

But most importantly, you should consider that in order to re-broadcast the third-party live stream, the original broadcaster or copyright owner should provide a formal authorization to you. Roku is more than just a hardware device, and as a DMCA compliant platform, they will terminate any channel that is re-broadcasting third-party's content without a formal authorization.

You may find additional information about Roku's DMCA compliance at:

If you are interested in integrating your own Roku channel with a live streaming service that is specifically designed for it, including web-based channel management, you may also find additional information at:

llmcd (author)  frontlayer1 year ago
Thanks for addressing this. Very good information for folks on streaming any unauthorized content.
llmcd (author)  mkecibi1 year ago
Hello. I am not sure I understand what you are trying to do. Can you give me more details?
Astream1 year ago

http://Astream.com offer Roku Video Streaming with their Astream Pro service.