page v1.5, 2009-03-19

Local Media Browser

Description

Local Media Browser gives access to your collection of digital media files from a web browser. It is designed towards low-powered clients, that can be found more often these days as slim client-PCs or even gaming consoles in local home networks in the living room, connected to a TV screen.

Local Media Browser is easy to set up for the averaged user. It needs no database backends whatsoever, all information is obtained directly from the files in your media library - photos, music, videos, text documents. While such things as thumbnails, ID3-tags etc. can be extracted on-the-fly, it generates some load on the webserver. To avoid problems under heavy-use, information can be manually generated a-priori (AKA indexing) or will be cached.

the author

the authorBastian Blumentritt, 30, lives in Erfurt, Germany. He works for a medium-sized software company and studies Computer Science at the Technical University of Ilmenau in his spare time.

Motivation

The motivation for this project arose from a new toy the author got himself: a Nintendo WiiTM. Besides the ability to attract all generations of casual gamers, it has a WLAN interface built in and the Opera-browser has been ported to the Wii, bringing the Internet to the TV, operable from the sofa out of the wrist.

Being a computer-guy, the author installed a small network in his apartment, consisting of his and his girlfriend's workstation and an old Pentium III-based PC, acting mainly as a fileserver in the storage closet. The fileserver's HDD holds tons of pictures shot during holidays and family festivities. Also some gigabytes were used by storing his CD collection as MP3 on it.

Using this media library on PCs is supported by a whole lot of helper applications of your choice, even todays desktop operating systems bring enough from the factory to view pictures and play music with some comfort. But wouldn't it be nice to access the files from the living room, traditionally lacking a powerful workstation computer, but having some sort of internet-capable client sitting below the TV?

Running a Linux distribution on the fileserver, it was an easy task to install the Apache httpd for a test-run. A first try of simply enabling directory-listing in the pictures-folder, showed two things: (a) it works, (b) it sucks. The tiny processor in the Wii was pretty busy with displaying, zooming, panning images in sizes of like 4000x3000 pixels. Remember that plain NTSC/PAL TVs have a resolution of 720x480 pixels (PAL: 720x576). Plus, Apaches directory listing shows only the file names, but no sort of preview.

So the content of the media library has to be prepared for viewing in a convenient way in a web browser. Of course there are already tons of gallery scripts around - you probably heard of Coppermine and others - but mostly they are designed towards being integrated in full-featured CMS systems, needing a strong database in background and are difficult to set up.

Preview

To get you an idea of how Local Media Browser works, here is a Demo Page for you. Since this is designed to operate in your private local network, there is just a very small media library connected with some low-res pictures to not melt the web server's processor (hey, don't take this as a challenge now!).

Additionally, here are some screenshots:

index page picture thumbnails picture intermediate music browser music playlist music replay

Dependencies

The following software components are needed to use Local Media Browser:

server-side

  • the Python interpreter
  • the Python Imaging Library (PIL)

On most Linux distributions these components are either already installed or available as binary packages through the package manager. On Debian-flavoured distris, apt-get install python-imaging is all you need to do to setup Python including all dependencies.

client-side

  • in the base version nothing more than a standard-compliant web browser
  • playing mp3s or viewing videos require an Adobe Flash Plugin (integrated in Wii's Opera!)

License

Local Media Browser is free software released under GPLv3.

Releases

2008-01-24: Release 0.2

  • huge step forward
  • music module is running
  • brings its own webserver on custom port
  • multithreaded
  • templates improved
  • Installing instructions are included

Download as TAR/BZ2 ZIP

2008-01-12: Release 0.1

  • this first release only contains the picture module of Local Media Browser
  • the music module is not ready yet for publication
  • Installing instructions are included

Download as TAR/BZ2 ZIP

Current Features

  • configurable through ini-file
  • directory chooser with breadcrumb-like path for navigation
  • display thumbnails of pictures in given directory
  • viewing picture in medium resolution (fit the whole picture to TV-screen)
  • showing information of the picture (date, size, location etc.)
  • rotate the picture in steps of 90 degrees
  • 1:1 view of the picture (displaying as large as it is)
  • support of templates/skins, one default template included
  • browse directories for music files
  • add the content of whole directories to playlists
  • shuffle playlist

Future Features

  • download options for MP3 files and whole music folders
  • downloading playlist as m3u for streaming to your external application
  • switch thumbnail view of pictures to a list view
  • write an installer
  • support the Wiimote on Nintendo Wii systems for browsing through pictures
  • design a nice theme for Nintendo Wii (looking for contributors)
  • a clever caching algorithm for on-the-fly generated content
  • a video module (FLV-encoding: still checking feasibility with GPL-OSS)
  • a rich text module for reading many kinds of documents
  • integration of internet ressources (RSS feeds etc.)

Related Links