 mediaserv - On-demand Nokia Internet Tablet transcoding server
 ~~~~~~~~~   (c) Andrew Flegg 2007. Released under the Artistic Licence.
 v0.05       http://mediautils.garage.maemo.org/

INTRODUCTION
 mediaserv is a simple web server which exposes video content on your
 desktop PC or server to your Nokia Internet Tablet (such as the Nokia
 770, Nokia N800 or Nokia N810).
 
 When content is accessed, it transcodes the video "Just In Time" and
 streams it to your Internet Tablet.
 
 RSS feeds for directories are also provided, listing the most recently
 updated content, and compatible with Nokia's beta Video Center application.
 

DEPENDENCIES
 * Linux, Unix or Mac OS X computer
 * mencoder                   - http://www.mplayerhq.hu/
 * mplayer                    - http://www.mplayerhq.hu/ (optional)
 * tablet-encode / 770-encode - http://mediautils.garage.maemo.org/
 * Perl
 * XML:RSS module
 * MythTV (optional)
 * Freevo (optional)
 
 The latter is something of a painful requirement, and removing it is on
 the TODO list (see later). Currently, to install XML::RSS on an Ubuntu machine:
 
     $ sudo apt-get install libdatetime-format-mail-perl   \
                            libdatetime-format-w3cdtf-perl \
                            libdatetime-perl               \
                            libtest-manifest-perl
     $ sudo perl -MCPAN -e 'install XML::RSS'
     
 Other machines may well have similar packages, however in the worst case,
 the `perl -MCPAN ...' line should pull in all the required dependencies.


USAGE
 Before running it for the first time, run the 'install.sh' script in the
 tarball. This copies various static files to ~/.mediaserv.

 After installation, modify the file ~/.mediaserv/config to specify the base
 directory of your video content. The file contains full instructions, and
 also contains options for:
     * Specifying the necessary files to get MythTV and Freevo integration
     * tablet-encode/770-encode location (if it's not on your PATH)
     * Encoder preset to use, which controls the output quality
     * Other encoder options, such as aspect ratio modification
     * Whether transcoded videos should be kept, or discarded after use
     * Port and IP address to listen on
     * ...and more.
 
 mediaserv itself can then be run as any user:
 
     $ ./mediaserv
     mediaserv running at http://192.168.1.5:8090
     Parent daemon running.
     $

 The terminal can be closed. To quit mediaserv, run `killall mediaserv'.
 A log is created in /tmp/mediaserv.log.


KNOWN BUGS
 * No support for transcoding external RSS feeds in this version.
 
 * No support for streaming-based Freevo FXD files.

 * Very long pages of videos should have configurable paging (reported
   by Kevin Barter).
   
 * No ability for quality to be selected on the fly (requested by mplawner).
 
 * No VDR support (requested by luca).
 
 * mplayer/mencoder issue with VDR recordings and multi-track audio, rippling
   through 770-encode and to mediaserv (reported by luca).
   
 * Video Center can hang during "Adding new feed" when using .vcfg files
   (reported by Sebastian Moeller).

 * Playing filenames containing spaces from microb can cause problems that
   don't exist when playing from Video Center (reported by zerojay). More
   details at: https://bugs.maemo.org/show_bug.cgi?id=2186
   
 If you find any other bugs, please email me <andrew@bleb.org>.
 

FILES
 ~/.mediaserv/, /tmp/mediaserv.log
 

CHANGELOG
 v0.05 (2007-11-18)  * Fix MIME type for Video Center files.
                     * Add separate `url' config variable for NAT (reported by
                       rm_you).
                     * Fix mismatch between ISO-8859-1 browser defaults and
                       UTF-8 Perl (reported by luca).
                     * Make aware of both 770-encode and tablet-encode.
                     * Additional default extensions: mkv mpeg rmvb (requested
                       by mplawner).

 v0.04 (2007-10-27)  * Use Gnome or totem-video-thumbnailer in preference to
                       player for thumbnails, if possible (provided by Andreas
                       Behr).
                     * Don't clobber configuration when updating installation.
                     * Added MP4 to default set of media extensions (reported by
                       Sebastian Moeller). 
                     * Improve thumbnail generation when falling back to
                       mplayer.
                     * Added support for additional 770-encode options (reported
                       by rm_you and Sebastian Moeller).
                     * Default IP detection now uses default interface rather
                       than first with 0.0.0.0 gateway (reported by rm_you).
                     * ifconfig may not be in PATH (reported by Daniel Yerga).
                     
 v0.03 (2007-10-26)  * Improve thumbnail generation (reported by Adam Harwell)
                     * URI escape all links to workaround broken UAs.
                     * MythTV recording meta-data support (thanks to Kevin
                       Barter).
                     * Freevo recording meta-data support.
                     * Tidying-up completed recordings didn't work properly.
                     * Jump deeper into files for thumbnails, if possible.
                     * Use ~/.mediaserv/config to override defaults so script
                       doesn't have to be modified.
                     * Media Player's rubbish and looks at file extension, so
                       always expose '.avi' to prevent "Format not supported".
                        
 v0.02 (2007-10-24)  * Usage counting working: don't catch SIG{PIPE}!
                     * Use unbuffered reading from result to prevent falling
                       off the end.
                     * Minor tidy-ups: add breadcrumb trail, hide hidden files,
                       provide RSS & VideoCenter buttons.
                     * Choosable 770-encode preset and location.

 v0.01 (2007-10-22)  * Initial release. Not very configurable.
 

COPYRIGHT
 (c) Andrew Flegg 2007. Released under the Artistic Licence.

