Skip to end of metadata
Go to start of metadata


Development and Deployment Process Overview

New applications or channels are written using the BrightScript programming language. BrightScript exposes platform functionality through BrightScript Components, which may be used by developers to create their application. These applications are designed to be standalone entities that can be deployed to a running system with minimal impact, no major software upgrades, and no downtime.

Applications consist of a set of BrightScript program files (text files), resources such as images (JPEG and PNG formats) and optionally, data unique to a specific application. Since BrightScript files are text files, you can use your text editor or IDE of choice for writing code. When the application is ready to be tested, web and command line based tools are available to make the process of packaging the application and deploying it to a development system fast and easy. Development builds are designed to be deployed to individual or small groups of systems where the developer has physical access. Wider deployment for beta and/or production releases can utilize the Roku developer website to upload channels for private or public access.

A walkthrough of installing to a local development enabled Roku Streaming Player can be found later in this document. A walkthrough of packaging your application and deploying privately to users who know your channel code or publicly to all users via publishing in the Channel Store is available in Channel Packaging And Publishing. Details on developing with Roku Components and the APIs available can be found in BrightScript Component Reference.

Supported Video Formats

The following is a summary of supported video formats that have been tested and/or are currently in-use. Other formats or encodings may be supported, but should be evaluated on a case by case basis.

 

H.264 SD

H.264 HD

Aspect Ratio1

4:3

16:9

Dimension

Various to 720x480

Various to 1280x720 and 
1920x1080 for 1080p

Progressive/Interlaced

Progressive

Progressive

File Format

.mp4 (MPEG-4 Pt 14), .mov .m4v 
HLS: m3u8 & .ts

.mp4 (MPEG-4 Pt 14), .mov .m4v 
HLS: m3u8 & .ts

Frame Rate2

23.976 fps or 29.97 fps

23.976 fps or 29.97 fps

Color Space

YUV

YUV

Video Codec

H.264/AVC

H.264/AVC

Profile

Main/High

High

Level/Complexity

4.1

4.1

Video Mode

Constrained VBR

Constrained VBR

Average Streaming Video Bitrate3

384Kbps - 1.6Mbps

1.6Mbps – 3.2Mbps

Average USB Video Bitrate3

384Kbps – 8.0Mbps

384Kbps – 8.0Mbps

Peak Video Bitrate

1.5x average

1.5x average

Key Frame Interval

< 10s

< 10s

DRM

None

None

Audio Codec

AAC LC (CBR), 
AC3 Passthrough

AAC LC (CBR), 
AC3 Passthrough

Audio Bit Rate

128-256Kbps

32-256Kbps

Audio Sample Rate

44.1 Khz or 48Khz

44.1 Khz or 48 Khz

Audio Sample Size

16-Bit

16-Bit

Audio Channels

2-Ch Stereo

2-Ch Stereo

Notes

1 The dimensions vary on a title-by-title basis depending on the source material and the target aspect ratio for the encoding (e.g. 4:3 or 16:9).  Content should always be encoded at full width and the height is adjusted.  For example, a 1.66 aspect ratio source is encoded as a 720x432 video and displayed as letterboxed for a 4:3 display.

2 The frame rate used for encoding depends on the source material. Film content is generally 23.976 fps, while video content is generally at 29.97.

3 For typical streaming video applications, we recommend a range of ~384Kbps to ~3.8Mbps. For USB playback, we recommend that you stay under 8.0 Mbps. This provides a good balance between quality and support for a wide number of users. In some cases lower and higher bitrates have been used, but this frequently results in poor quality, and/or reduces the number of Roku users that can view the encoded material.

Supported Image Formats

The following image formats are currently tested and in-use. Other formats or encodings may be supported, but should be evaluated on a case by case basis. The use of PNG is recommended for UI graphics due to the use of an alpha channel within the UI.

  • JPG, JPEG
  • PNG
  • GIF

 

  • No labels