Roku HD1000 Projects

Note that this is all unofficial information. I'm just a solo developer with no direct ties to Roku labs.


The Roku HD1000 is a set-top high definition media player. It is primarily marketed as a photo viewer and for use with commercial "art packs". Within the device is an ATI Xilleon CPU with a high definition hardware MPEG2 decoder. This makes it technically possible to play back some high definition video content, such as recordings of over-the-air digitial TV broadcasts. The HD1000 runs Linux internally and an SDK is freely available.

Status

25 January 2004

Working

Firmware 1.5.11 is the current stable release. It can use DHCP to get an IP address and mount passworded SMB shares. With the addition of the StreamPlayer application, you can play back large transport streams by first chopping them into small pieces. The player is very primitive, with no trick modes like fast forward or reverse.

Firmware 1.5.12 is the current firmware and SDK beta release. It provides an improved environment for developers (such as bash as /bin/sh), a portmap binary for NFS support, and a more complete set of header files and documentation than previous releases. Compilation is done natively on the HD1000. You will need to enable swap space somehow.

Not working

The HD1000 cannot play back DVD VOB files or any other sort of MPEG2 content you're likely to have lying around. It understands only transport streams, which are used almost exclusively in broadcast applications. Many users have tried many tools to convert non-TS files into TS files, with mixed results. Sound sync problems are typical for home-made TS files. You cannot yet interactively select the PID to play back from a TS, so some streams will play and some will not. You cannot manually set the IP address yet; it only does DHCP.

Expected

Rokulabs has said they will be releasing a new SDK soon, to include a cross-compiler and likely the same environment they use internally. The kernel sourcecode is also expected to be released soon; they say they are checking with ATI to ensure that the stuff they're going to release doesn't run afoul of their NDA.


My Stuff

Transport Stream samples

I've got some transport stream examples on-line for testing and analysis.

trympegdecode

This is a simple test program that feeds MPEG data to the HD1000 decoder for display. You can specify the PIDs to use.

network block device

Kernel module and userspace tools for using nbd on the Roku. The main reason I did this was to enable the Roku to swap over the network.


Discussions

roku-tech
The roku-tech mailing list is the official, primary source for technical discussions.
roku-tech search
A search engine for the roku-tech list.
roku-tech browse
A browsable interface to the mailing list. NOTE: not compatible with some web browsers.
avsforum
There are a few threads over at avsforum, with some participation by Roku employees. Search on "roku" to find them.
Roku Exchange
This is a web-based bulletin board set up by an HD1000 user.

Developers

Roku Developer
The official Roku developer pages provide firmware upgrades, technical documentation, beta software releases, and other highly useful information.
Brad Fitzpatrick
Debian mipsel for Roku development, portmap/NFS, and other guides.
Sujal Patel
MPEG playback and analysis, including VOB files. And some basic utilities such as a password changer. His CinemaSix program stream player is now a Sourceforge project.
Dave Dodge
That's me.
Sandy Ressler
Custom art packs.
Harold 'BJ' Johns
WeatherSix, which displays data from the Weather Channel's XML feed.

Articles


MPEG2 (mainly Linux) resources

This is just a random set of links to MPEG2 resources I've come across.


Dave Dodge dododge/at/dododge/dot/net