Roku

Linux Journal - Roku's Netflix Player
Roku's Netflix Player (www.roku.com/products/netflixplayer)

“Instant movie gratification” coos Henry Kingman of Roku's Linux-driven Netflix Player, a networked video device that delivers Netflix streaming content directly to your television. It provides access to a library of more than 12,000 on-demand titles from Netflix. The Netflix Player is HD-ready and has all the connections you need to connect to a TV, HDTV, home theatre or A/V receiver, including HDMI. The device includes Ethernet and Wi-Fi (802.11b/g), allowing one to play, pause, fast-forward and rewind movies directly from the Internet over a home network.

Roku Netflix

Roku has used Linux on the Netflix Player has since its inception. Roku's David Westerhoff, Director of Software Engineering, says his company chose Linux because it has “come a long way” and allows it to “focus on developing [its] application and helps keep the costs down”. Westerhoff adds that having the source code gives his team the flexibility to “go deep if necessary to debug, troubleshoot and optimize our software for the best user experience”. During product development, Roku developers found and fixed about a half-dozen distinct bugs in the build toolchain, plus some driver-specific bugs. However, the 2.6.19.1 Linux kernel has been very stable and required no modifications to the product.

The device uses the MIPS-based PNX8935 SoC from NXP Semiconductors for application and video processing. The application is written primarily in C++ and runs a Linux 2.6.19.1 kernel. Roku uses DirectFB to provide an abstraction layer for the graphics and video services on the platform and Qt 4.3 to provide a framework for UI development. The device has no hard disk, just 256MB of DDR RAM to provide the memory needed for its applications, plus the buffering necessary to support streaming video playback.

“Robust video streaming over home networks takes a significant amount of effort to get right”, adds Westerhoff. Therefore, the Player uses dynamic bandwidth detection to select the best possible stream for the user's network and then monitors it continuously during playback to provide the best user experience possible. If the available bandwidth changes, the device responds by selecting a new stream at a bitrate appropriate for the situation.

See Linux Journal/2008 12 December

Wikipedia
https://en.wikipedia.org/wiki/Roku

Roku 2 XS
Composite video and USB!

Roku 2 XS (3100)

http://www.amazon.com/Roku-1080p-Streaming-Player-Model/dp/B005CLPP84?ie=UTF8&keywords=roku%202%20xs&qid=1459866797&ref_=sr_1_2&sr=8-2

- Roku XDS (2100)

Roku 2 (Model 2720) - Setup Instructions – Roku Support - https://support.roku.com/hc/en-us/articles/208754838-Roku-2-Model-2720-Setup-Instructions

Roku 2 XD (Model 3050) - Setup Instructions – Roku Support - https://support.roku.com/hc/en-us/articles/208754858-Roku-2-XD-Model-3050-Setup-Instructions

Roku 2 XS (Model 3100) - Setup Instructions – Roku Support - https://support.roku.com/hc/en-us/articles/208754868-Roku-2-XS-Model-3100-Setup-Instructions