5 THINGS - Simplifying Film, TV, and Media Technology - Audio Only

5 THINGS - Simplifying Film, TV, and Media Technology - Audio Only


Building a Roku Channel

October 25, 2017
1. What ways are there to create a Roku channel?

When I cut the cord a few years ago, I still needed to find a way to enjoy video media without simply relying on Netflix and YouTube. And buying many of the other subscription-based apps, like HBO GO, would simply jack up my monthly charge…which is why I canceled cable in the first place!


I looked at all of the OTT options out there, including AppleTV, FireTV, and various gaming consoles. Roku caught my eye as an inexpensive way to find and consume content, as it had thousands of public and private channels – much more than most others, and already a wide viewership. In fact, as of June this year, nearly 40 million Americans used their Roku at least once a month. It’s the #1 OTT platform out there. Roku has also just gone public, which means the company is going to accelerate even more quickly.


While I was thrilled with the amount of content I had easy access to with Roku, it wasn’t long before I wanted to get on the bandwagon and create my own channel for 5 THINGS.


The Roku channel paradigm is pretty simple. A channel is much like an EDL – it simply points to where the media is externally and streams it when told to play, so channels are traditionally lightweight, as they only contain few images, and code to link to your media elsewhere.


This seemed simple enough. However, when I started to create my own channel, there were only 2 ways to do it yourself.


First, was to use the site like instanttvchannel.com, which is a Cloud-Based Roku Channel Production System. Through a series of dropdowns and prompts, you could create your very own Roku channel. The problem I had was you had to pay per month as long as the channel was active, anywhere from $5 to $50 per month, and your account may have an InstantTV splash screen on launch, amongst other gotchas.


 


instanttvchannel.com

instanttvchannel.com


 


The second way was to develop against the Roku software development kit, or SDK. Programming for a Roku is channel is based around the BrightScript coding language, which is a bit like Javascript mixed with visual basic. Now, I could learn Brightscript and code from scratch, or, I could take some basic templates already configured for base levels of functionality and augment them as needed with modules of code.


So that’s what I did. It still relied on some coding and lots and lots of testing, and I spent a ton of time on forums and help guides. But it was the best choice since I wasn’t going to develop Roku channels full time. It took about 100 hours of work, and the purchase of an old SD Roku model for testing on legacy gear to get my first channel up and running.


And then there were the updates.


Several hours per month, after each new episode, and creating and testing versions for SD and HD Roku models.


But you fine folks are in luck. Last year, Roku introduced a 3rd way, known as “Direct Publisher”, which gave novice creators the ability to create a channel without writing a single line of code and have it work across most any modern Roku player.


Hallelujah

Hallelujah!


And thus, how to create a channel with Direct Publisher is what I’ll show you today.


 


2. How do I use Roku’s Direct Publisher (walkthrough & tutorial)

Since Direct Publisher is from Roku, you need to start off by creating an account with Roku. If you already have a Roku unit, then you probably already have an account. Sign in.


  1. Navigate to the developer homepage, and under “My Channels”, you’ll want to click “Manage My Channels”.roku developer dashboard manage channels


  2. Click “Add Channel”. As you can see, we have the aforementioned Developer SDK and Direct Publisher methods. You’ll want to select Direct Publisher, and give it a descriptive name, and click “Continue”.roku add channel
  3. Next, you’ll be prompted for a few various options. Where in the world your channel will be available, what language the channel is in, if your channel is intended for children or adults, and a channel vanity code. The vanity code you can pass to potential subscribers so they don’t need to search the store for your channel. Give them the vanity code, and they can enter it into their account to immediately get your channel.roku channel properties
  4. Next, you’re presented with your Feed URL. This is where you may want to pause and watch the rest of this episode because we’ll need to determine your Feed URL via other methods. Jump to “#4: How do I update my channel” for how to determine this, and them come back. Now that we’re back, I’m going to cut and paste my Feed URL, and now tell Roku what format my videos are in. I’ll explore the various media types later in this episode. However, I’m going to select “Specified in feed” so I can dynamically change the media type at any point in time.roku feed URL
  5. Next, we’re at the branding page, and this is where you’ll upload custom graphics for your channel. It’s important to adhere to the graphic specs, or the page layout won’t look right. Roku will automagically make all of your graphics work on SD, HD, and UHD models of Roku, so don’t worry about creating various versions and resolutions. You also can choose your branding colors to complement your style.roku branding options
  6. Page Layout: One thing to remember is that while Direct Publisher makes things easy to get started, it does somewhat limit the layout of your channel. That’s the tradeoff. If you want total control over your layout, then you’ll need to build your channel from the Roku SDK.Roku channel layout options with Direct Publisher
  7. Next, we need to define categories. Since we’re going to define the categories in our feed, we’ll select “from feed”.roku categories
  8. Now, we need to enter in our all-important metadata. Channel name, It’s Description and Web Description, your channels’ category, and the uber-important keywords. Plus you’ll add a channel poster image.roku channel store info
  9. On the next screen, are ya making money off of this thing? Most likely when you’re starting out, the answer is no, so select as such.roku monetization
  10. Next, upload a screenshot. Roku can autogenerate this if your feed URL is ready, if not, upload a 1920×1080 JPG or PNG file.roku screenshots
  11. We’re now at Support Information, where you need to enter how Roku can get in touch with you, but also where do you want to drive viewers to get in contact with you or see more about your channel and your projects.
  12. Click Continue, and you’ll see a summary of your channel. There are icons next to each section you’ve filled out, so you can see where you may have goofed.  Often you’ll see problems next to Feed Status. Not all errors are show stoppers, and many of the errors you may encounter are easily found in the Direct Publisher Roku Forum.Publish your Roku channel - checklist
  13. Once things are good, click the link towards the top of the page so the channel gets published to YOUR account. This is NOT public just yet, it’s just pushed to your Roku account so you can beta test. Add the channel.
  14. Now, move to your Roku unit, and you’ll want to navigate to Settings – System – System Update. This will have Roku not only look for updates to your software online but also add any channels.
  15. Once the Roku unit is updated, you can open the channel and start testing.

BOOM, you now have the framework for your first Roku Channel. Now, we need to add some content.


3. What kind of media do I need to create for Roku?

If you’re going to promote yourself on Roku, ya need content right?


One immediate issue that many novice developers encounter is that any Roku channel you create cannot link to YouTube videos, which, of course, is a popular place to house your media. Doing so violates the YouTube terms of service, and Roku has been cracking down on channels doing these sorts of things..…plus, YouTube doesn’t offer direct links publically to their media anyway. You can, however, use a Vimeo Pro Account, as they offer up direct MP4 links to your media.


That being said, using a single, self-contained MP4, M4V or MOV for that matter, can be problematic. It’s very difficult to create a single file that works well for streaming to every device, given bandwidth and resolution.


Now, more advanced streaming formats that include segmented files at various quality levels, otherwise known as adaptive streaming, are preferred over standalone files. The end player can decide what version will play smoothly, given the available bandwidth at any point in time, so you get the highest quality file possible with no buffering errors. Microsoft Smooth Streaming, MPEG-DASH, and Apple HLS all follow this basic methodology.


Of these 3 options that Roku supports, I chose Apple HLS. Mainly due to the fact a majority of my audience uses Apple devices, and HLS is fully supported on iOS devices. You need to host this on a cloud provider or on your website. I choose to use my existing Amazon S3 bucket, but as you’ll see later, you may want to host it on your own website.


As a side note, be sure to compare the cost of CDN hosting on Amazon S3 vs how much traffic you can have on your website. Some web-hosts may bill you for traffic overages, and hosting all of your media on your website may push you over the edge. This is why I use Amazon S3.


If you hadn’t noticed, I caption all of my episodes. Roku accepts SRT caption files, as well as media with embedded captions. I use SRT as my main format and convert them into a VTT format, and I’ll explain why in a few minutes.


I’m also a big fan of BIF files or Base Index Frame files. These are graphic thumbnails that the user sees while rewinding and fast-forwarding through each episode. It’s a visual indicator of where the user is, not just a timestamp. I use BIF Video File Creator, now free, to create the BIF files from my final video edit. I also upload these to my Amazon S3 account.


Lastly, I create a thumbnail of my episode, much like you would do for YouTube. In fact, I now use the exact same thumbnail I create for YouTube, as Direct Publisher will automatically size it for older SD players – something that the old SDK method couldn’t do.


 


4. How do I update my Roku channel? (walkthrough & tutorial)

Roku’s Direct Publisher takes updates in 2 ways: via an MRSS feed, or via JSON. Now, you’re probably saying,


“Michael! You said there was no coding!”


There isn’t!


Many online apps or website templates can generate MRSS feeds of a blog post. However, JSON offers a deeper level of integration…and there are apps and website plugins that communicate to the Roku mothership via JSON.


Now, if you use WordPress as your website development environment, then you’re aware of all of the plugins to give your site more functionality. Recently, a plugin became available called WP Smart TV by Rovid-X Media. This plugin can use your WordPress site to house all of your media for your Roku channel and can push all of the updates to your Roku channel via JSON. No coding!


For me, this was an instant workflow savior. It saved me hours of time per month in coding, testing, and manually creating artwork; plus it centralized my data and media. Let me show you how it works:


  1. Log into your WordPress Installation, click on plug-ins, and “add new”.
  2. In the Keyword search box, type “WP Smart TV”. Once the plugin shows up, click “Install Now”.  For this demo, I am using v1.3.1 of WP Smart TV.WP Smart TV WordPress plugin
  3. Once installed, click “Activate”.
  4. You may also want to install the Jetpack plugin, which is a plugin that speeds up image loading. It also can fix the error message on the Roku developer portal where Roku cannot load thumbnails. Some WordPress hosts block loading images to Roku, and this gets around it.
  5. On the left-hand side of your screen, you’ll now see a heading for “WP Smart TV”. Click it. You now will see the options for your Roku JSON feed. Under General Settings, you can select your type of posts you’re making, that best coincide with your content. Click Save.wp smart tv general settings
  6. Under “Roku Settings”, You have options to limit the amount of posts that show up on the channel per category, as well as settings for any advertisements you may have. I highly recommend reading the documentation on Recipes, so you can have more granular control over the order in which your categories show up on the channel.
    wp smart tv roku settings
  7. Note the URL at the top of this section. THIS IS IMPORTANT. This is the Feed URL that you will cut and paste into the Feed URL prompt we covered in the last step. This is how WordPress, WP Smart TV, and your Roku channel talk to one another. Click Save.
  8. WP Smart TV also supports other OTT devices like FireTV, for Roku we can skip over this. We can also skip over the VideoJS settings as we are not monetizing this channel in this demo.
  9. Lastly is the HELP documents tab, which I highly recommend reading.wp smart tv help documents
  10. In order for WP Smart TV to add content to your feed, you’ll need to create a Video Post. On the left side of the screen is a heading called “My Videos”. Click it.wordpress video heading
  11. From here, you’ll want to add a new video.
  12. Immediately, you’ll see the options for your Roku Media. You’ll need a new video post for every video file you want on your feed. I know, if you have a large catalog of videos, this may be tedious… but it’s much better than coding. Put in your duration, your video format, your video quality, and the location of the media. As we talked about in the “How do I create Media for Roku” section, add in the media URL here.wp smart tv video file data
  13. Add Closed captions if you have them, and their language and type. Currently, VTT is accepted, so I convert my master SRT files to VTT with any number of free web-based tools. The captioning tab is optional and can be left blank.wp smart tv closed caption
  14. Trick Play is used for the BIF files, which we covered earlier.wp smart tv trick play
  15. Now, click Genres to further categorize your media, and use the custom fields for advanced control if you developed against the SDK.wp smart tv genres
  16. Be sure to upload a Featured Image for your post, as this is the thumbnail for the post.
  17. Also, enter a description at the top so viewers know what the episode is about.
  18. Click Publish.

Congratulations, you now have your first video for your Roku channel.


Every time you make a change to your Roku channel, you’ll need to go back to your Roku Developer page and refresh the feed. This is only temporary. Once your channel is published and is made public, the updating will occur automatically.


 


5. What else do I need to know?

First, ya need to buy a Roku player. You gotta know how the thing actually works, so you know how to design your channel. You also need to test your channel. As of now, there isn’t a way to 100% test your channel via SDK, via a 3rd party website, or by Direct Publisher without one. So check out the current models, and see which one works for you.


compare roku units


Also, this ain’t “Field of Dreams”.


Just because you build it, doesn’t mean people will flock to it. So, you need to promote it. This includes Roku themed channel sites, as well as on Roku user forums, plus on your other sites, like YouTube, Vimeo, and other social media channels.


Now, as mentioned earlier, Direct Publisher does have a framework for ads and thus ad revenue, so you can conceivably make money off of your channel. But if you’re not making much on YouTube, do you really expect to make more on Roku? Roku is big, but not YouTube big.


To be clear, I don’t recommend it as your sole point of distribution. But in the huge marketplace reality where there is competition for eyeballs everywhere, branching out into a realm that has less than, let’s say, YouTube, means you have another audience to engage with. And 40 million eyeballs per month ain’t bad.


Until the next episode: learn more, do more.


Like early, share often, and don’t forget to subscribe.   Thanks for watching.