Linux media player settop box and IP router project
It's the time to retire my old linux router (10 years old P166 64Mb PC:-)
The router/firewall connects broadband internet (cable modem) to my home network
(3 Windows PCs and laptop). It runs WEB/FTP/SSH/Mail servers as well. Later I installed
Asterisk PBX server on it to provide inhouse telephone service.
Second piece of hardware to retire - Apex AD-1500 DVD player. The player plays
almost everything (DVD, Video CD, SVCD, CVD, Audio CD, MP3 CD) but can't play
AVI/DivX and other media formats. I don't like to watch movies on the computer
monitor. At home, movies are best watched on a TV.
So, the idea is simple, to combine both devices into single small size box suitable
to be placed in the living room. The hardware requirements are:
- Low power consumption (the box is 24/7/365 on!).
- Videocard with TV-out.
- CPU must be powerfull enough to play different video formats.
- DVD/CD drive for DVD/CD-based media playback.
- HDD should be big enough to store AVI/DivX files.
- IR receiver to control the box with a remote control.
It's not so easy to satisfy to all these requirements... Most of videocards with
TV-out on the market are powerfull video accelerators which are consuming power
like a refrigirator and their coolers sound like a jet:-) Small PC cases are
sometimes too small to fit DVD drive or require a costly low-profile DVD drive.
Some mini-cases have no built-in PSU, but I want the box to be all in one.
After a week of research I finally found what I need.
VIA M10000 mini-ITX MB with VIA Nehemiah 1Gz CPU. The CPU is powerfull
enough to play all media formats, the graphics chipset has MPEG hardware
decoder, the board has TV-out connectors (composite and S-video), analog and
SPDIF audio outputs. The board also offers great connectivity choices:
2 RS-232 ports, 100Mb ethernet, 4 USB2.0 and 2 firewire ports!
Mini-ITX case with 120WA PSU built in. The hole right to USB connectors
is the IR receiver window.
The total cost of the hardware (with 256M DDR stick) is less than $400 including shipping.
Hmm... That's the most tricky part and is still under construction:-) The main
idea is to build plug and play configuration and to avoid the use of X window
system, I see no reason to run X on a DVD player:-) The box has neither keyboard
nor mouse attached to it.
- OS. Gentoo Linux running
epia 2.4.24 kernel
with supermount feature enabled.
- Framebuffer. I'm using DirectFB project cle266
framebuffer driver with the following changes:
- I compiled the driver using original VIA via_tv3.h
header file. It provides standard TV signal timings and has no line drops like
- The following patch adds TVfilter=N
command line parameter support to viafb driver to control chipset's deflicker feature.
The possible values
are: 0 - deflicker disabled, 1 - 1:1:1 filter, 2 - 1:2:1 filter. The default
value is 2 (like in original VIA driver).
- Media player. I'm using the CVS version of fbxine player from
Xine project with the following patches:
- Plug'n'play. Just insert a CD/DVD and watch. The software autodetects the
type of the disc inserted and calls fbxine with the apropriate parameters.
The steps are:
- Start the software from inittab:
c1:12345:respawn:/sbin/agetty -n -l /home/media/tvmenu.sh 38400 tty1 linux
exec su - media -c /usr/local/bin/cdde
none /mnt/cdrom supermount fs=iso9660:udf,dev=/dev/cdrom,--,ro 0 0
- cdde is a patched Eric Lathrop's
media detector software and is controlled by this
Unichrome team made a great work
developing driver and MPEG2 decoder support for X. So... I switched to X Window.
I created a new gentoo ebuild
for Xorg-6.8.0 based on unichrome-r27 and libviaXvMC-0.13.0.
Feel free to contact me if you have any questions or suggestions,