Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
malkin13
Visitor

Simple video encoding presets for Roku using Encoding.com

Preparing videos for use with your Roku set-top-box can be accomplished very simply using one of the Roku Presets on Encoding.com. Choose a Preset, set a destination location for output files and you're up and running! There are 2 presets: Single Bitrate output and Adaptive Bitrate (HLS) output

1. Roku Preset for Single Bitrate output: quick setup to generate a single video output in .mp4 format

When using the web interface, select the "Roku 800kbps" preset from the Format drop-down menu to generate a static bitrate video output:



If you are sending XML to our API, use this template to make a 800kbps Roku mp4:

  <format>
<output>roku_800</output>
<destination>ftp://username:password@yourserver.com/output/filename.mp4?passive=yes</destination>
<size>640x480</size>
<bitrate>800k</bitrate>
<audio_bitrate>128k</audio_bitrate>
<audio_sample_rate>44100</audio_sample_rate>
<audio_channels_number>2</audio_channels_number>
<keep_aspect_ratio>yes</keep_aspect_ratio>
<video_codec>libx264</video_codec>
<profile>roku</profile>
<audio_codec>libfaac</audio_codec>
<keyframe>200</keyframe>
<audio_volume>100</audio_volume>
<file_extension>mp4</file_extension>
</format>



2. Roku HLS Preset for Adaptive Bitrate output: quick setup to generate the index file (.m3u8) and h264 segments (.ts)

When using the web interface, select "Roku HLS" from the Format drop-down menu to generate the necessary files for adaptive streaming:



For Roku HLS adaptive bitrate API jobs, please use this XML template:

 <format>
<output>roku_hls</output>
<destination>ftp://username:password@yourserver.com/output/filename.m3u8?passive=yes</destination>
<size>0x480</size>
<audio_bitrate>96k</audio_bitrate>
<audio_sample_rate>44100</audio_sample_rate>
<audio_channels_number>2</audio_channels_number>
<keep_aspect_ratio>yes</keep_aspect_ratio>
<video_codec>libx264</video_codec>
<profile>roku</profile>
<audio_codec>libfaac</audio_codec>
<audio_volume>100</audio_volume>
<bitrates>1200k,800k,600k,400k,200k,110k</bitrates>
<framerates>29.97,29.97,29.97,29.97,15,10</framerates>
<keyframes>90,90,90,90,45,30</keyframes>
<pack_files>no</pack_files>
<segment_duration>10</segment_duration>
<add_audio_only>no</add_audio_only>
<still_image>no</still_image>
</format>

Additional notes regarding Roku HLS
Please do not use two pass encoding, or you will see a blurry I-frame "popping" at the beginning of each 10 second video segment. Also, be aware that 5 different bitrates will output 30 segment (.ts) files per minute of video, so a 10-minute video will be 300 files. You will probably want to encode each video to a separate destination directory to keep your Roku organized. Otherwise, you will quickly have thousands of segment files in one directory.
0 Kudos
1 REPLY 1
Anonymous
Visitor

Re: Simple video encoding presets for Roku using Encoding.co

Thanks for this, Jeff. Perhaps this will be useful for people looking to convert libraries for Roku playback.
0 Kudos