How does Roku work?

How channels work

The Roku platform has thousands of channels, streaming billions of hours of content to our audience per year. As the industry leader in streaming devices and channel offerings, it’s helpful to understand how a Roku channel is developed and distributed to users around the world.

New channel requirements

The three main requirements for creating a Roku channel are:

  • Original and/or licensed video content.
  • A place to host your content on the web (for example, an OVP, CDN, and so on).
  • feed, which brings your content onto the Roku platform.

Content hosting

Before creating a channel, an important step is to decide how and where to host your videos or other content. Here are some common solutions:

OVP (Online Video Platforms):

  • Zype
  • Wistia
  • Vimeo Pro
  • Ooyala
  • Brightcove
  • Kaltura

CDN (Content Delivery Networks):

  • Akamai
  • Scale Engine
  • Limelight Networks
  • EdgeCast
  • BitGravity
  • Comcast Technology Solutions
  • Amazon Web Services (AWS)

roku815px - videoplayback

Playing hosted videos in a Roku channel

Once you have your content uploaded to a hosting solution, the next step is to create and export a “feed” to describe your content to the Roku platform so it can handle each content item correctly. The feed is typically in an RSS, XML, or JSON file that contains detailed information about each content item (file format, bitrate, etc.), and the content itself (title, artwork, etc.). This constitutes your channel’s catalog.

The video playback flow in a Roku channel is:

  • Video is uploaded to a content hosting solution, which provides customers with a basic “feed” of all the hosted content
  • The content feed (RSS, XML, or JSON file) is added to the channel, containing the metadata for the hosted media (video, audio, etc.):
    • Title
    • Descriptions
    • Keywords/Categories
    • Artwork
    • URLs to indicate where the media will be downloaded from
  • A Roku channel plays the content. The channel’s implementation can be created using the scripting language, BrightScript, and its UI framework, SceneGraph

After you’ve successfully set up your hosting server(s), you’ll need to consider which of Roku’s two channel development models you’ll want to use. This will determine a tremendous amount about your channel, including the schema used for your content feed. To learn more, read on!