Saturday, February 16, 2013

Introducing YouTuPi, a YouTube (mobile) web frontend for your Raspberry Pi

I've been the proud owner of a Raspberry Pi for several months now. Since I bought it, I've looking for ways of replacing all the functionalities my old TV-attached laptop had, which basically were: torrent downloader, DLNA server and YouTube player. This device has a very low power consumption so this would be great news.

My first approach was to install Raspbmc which is an XBMC optimized for this hardware. In spite of  XBMC is a great piece of software, in my case it was quite unresponsive, and made my Raspberry Pi hang several times.

This made me try Raspbian which is a very lightweight distribution. As it's based on Debian, I installed Transmission and MiniDLNA with no much trouble using apt-get since they are in the repositories. At this point I was quite happy with the result: I had a torrent daemon I was able to control through its web-interface or even with an android application, and the downloaded media was played in my DLNA-capable TV.

The hard-part: playing YouTube videos on the TV

Since flash has so little performance in linux playing YouTube videos from an internet browser was out of the question. Searching the web I found YT: a command-line application written in python for searching YouTube videos and play them without flash thanks to youtube-dl. This was pretty cool, but I was looking for a more user-friendly solution. Inspired by YT's approach I wrote YouTuPi which has a web interface that can be used in any modern tablet/phone and allow us to search and create a playlist of YouTube videos.

You can find the installation instructions (and the code itself) in YouTuPi's GitHub repository.