Roku channels let content creators distribute media directly to millions of Roku users, expanding your reach across an engaged audience. By leveraging Roku’s platform, you can showcase diverse content formats—from live streams to on-demand videos—in a custom channel tailored to your brand’s vision.
Launching a custom Roku channel enables you to:
- Reach More Audiences: Tap into Roku’s large user base and connect with viewers who actively seek streaming content.
- Seamless Streaming: Provide an accessible, high-quality streaming experience for an easy seamless viewing experience for viewers.
- Brand Expansion: Enhance your brand’s presence and engagement, allowing for deeper connections with your audience.
- Monetization: Explore revenue options through Roku’s built in monetization offerings.
These benefits combine to empower content creators with the tools they need to build lasting relationships with their audience while driving growth and revenue.
Prerequisites
- A Roku device
- Access to Roku’s Developer Program
- A compatible HLS URL for your livestream
How to Build Your Own Roku Channel
This github repository holds an example configuration for a Roku app that streams an ABR broadcast from MediaCP Cloud Video: 🔗 Example Stream
We will be using MediaCP Cloud Video as our source for our ABR enabled live stream. MediaCP Cloud Video is a white-labeled enterprise video streaming platform designed for service providers and powered by AWS and a global CDN. We will be using the HLS link from the our demo platform as it is automatically formatted correctly Roku, Fire TV and more. If you have your own compatible HLS link the guide should work for you as well.
We will start with our pre-made roku-example app as a template, then customize it match our branding and live stream content.
Steps to Set Up Your Roku Channel:
- Start by downloading the roku-example app from the following link: https://github.com/mediacontrolpanel/roku-example/archive/refs/heads/main.zip
- Gather a roku compatible HLS link. On MediaCP Cloud Video this can be found on your channels by selecting the Player Code button and copying the Direct HLS Link.
- Edit the MainScene.brs file to use your own HLS stream. Replace “https://cdn.mycloudstream.io/hls/live/broadcast/viducc7f/index.m3u8” with your own stream link. I will be using the link we just gathered from our MediaCP Cloud Video channel.
...
sub SetupVideoContent()
videoContent = CreateObject("roSGNode", "ContentNode")
videoContent.streamFormat = "hls"
videoContent.url = "https://cdn.mycloudstream.io/hls/live/broadcast/viducc7f/index.m3u8"
videoContent.title = "MediaCP Example"
...
3. Edit the main.brs file to also use your HLS stream by replacing the same url:
...
videoContent = CreateObject("roSGNode", "ContentNode")
videoContent.streamFormat = "hls"
videoContent.url = "https://cdn.mycloudstream.io/hls/live/broadcast/viducc7f/index.m3u8"
videoContent.title = "Live Stream"
...
4. Edit the manifest file to set the name of your channel and channel details:
# Channel Details
title=MediaCP Live Stream
major_version=1
minor_version=0
build_version=00001
...
# Channel Information
description=A channel that streams live media content.
provider_name=MediaCP
...
5. Replace the image files with your own splash screen and icons in Roku’s expected resolutions:
File Name
|
Resolution
|
---|---|
icon_focus_hd.png
|
290x218
|
icon_focus_sd.png
|
246x140
|
splash_fhd.jpg
|
1920x1080
|
splash_hd.jpg
|
1280x720
|
splash_sd.jpg
|
720x480
|
6. Compress the entire directory for upload to your Roku Device:
cd your-roku-app-directory/
zip -r my-roku-channel.zip manifest source components images
Package & Test the Roku Channel App:
You will need a Roku Device in developer mode, in order to test and package your new app.
- Activate develop mode on your Roku device by following the official Roku Guide
- Write down the URL of your Roku device that is displayed on the screen and the password you set during developer mode setup.
- View the Developer URL and login with “rokudev” and the password you set
- Sideload the app onto your Roku device by uploading the zip file we made on Step 6
- After being uploaded the app should startup on your Roku device, check to ensure it is working as intended.
- Follow Roku’s official guide to generate a signing key for your app.
- Select the Packager button on the top right of the Roku Developer page and package the app for deployment. You will need to use the signing key password from the last step in order to complete this.
- Down the packaged app to your computer.
Now that your app is tested and published, you just need to create a Roku Developer account and build your channel application in order to publish it to the Roku App Store.
Publish your Roku Channel App:
You will need a Roku Developer account in order to publish your new app.
- Login to your Roku account on the Roku Developer website, this will grant you access to the developer dashboard.
- After logging in visit the Roku Developer Dashboard
- Navigate to Public Apps and select Create Channel
- Set your Channel name, Language and Countries
- Go through each of the categories to set your Store Listing and Channel Properties ensuring each is checked off in the dashboard.
- Select Channel Package and upload the .pkg file we packaged and downloaded earlier
- Save and Run the Static Analysis, if the channel passes then you can complete the rest of the categories until the Schedule Publish button is available.
- After selecting Schedule Publish you can now set the schedule date and wait to see your app on the store.
🎉 Congratulations! Your Roku app should now be published on your selected date, with your customers able to download and view your stream using it.