Premium Content

New Signal Chain Resources from Texas Instruments:

Building A COM Express DVR

Date Posted: August 01, 2007 12:00 AM
Author: William Wong

For those setting up multiple back end servers, keep in mind that there is a single, common MySQL server that can run on the same system as one of the back end servers. Likewise, there is one master back end server. Front ends connect to the main back end server and can reference files on other back ends. The front end interface can be changed by selecting different “skins.” The same general interface is presented with different icons. The interface can be easily navigated using a TV-style remote control, keyboard or mouse. Selecting a recording for playback is as easy as moving the cursor over a list entry and pressing the select button. The overall interface is very good and improving but there are always improvements that can be made. The configuration menus. are easy to navigate but they tend to have a large number of options. This is great for the expert but confusing for the novice. Luckily the defaults are usually sufficient but an expert/novice control would be useful in future versions. Tuner Configuration Probably the most tedious and error prone part of the configuration was setting up the tuners. You need to select the board, scan for channels and setup the TV guide mapping. This process is only done once and it is possible to make modifications later but this is likely to be the place where novices will run into problems. This one area where products like SageTV have an advantage. Their setup simply asks for a zip code and whether you are using an antenna, cable or satellite connection. The configuration program can then fill in the blanks so you can then view the TV schedule. MythTV does the same thing but the process involves setting up an account and programs to get the schedule information. Remote Control Configuration If you can get by without a TV remote control then do so otherwise you need to delve into LIRC (Linux Infra-red Remote Control). You will also need a remote control device. A number of USB-based infrared or radio-based controller interfaces are available. Some are bundled with TV tuner cards like the Hauppauge board. LIRC is not part of MythTV but it is often used with MythTV or similar applications. LIRC setup is complicated by the need to edit almost half a dozen text files. The system includes a low end device driver and a translation application that converts remote control keystrokes to commands or keyboard keystrokes. It took me longer to get the configuration correct since you can map any key on the remote control to a key sequence that is sent to MythTV. The reason for the complexity is that LIRC is designed to handle any number of applications. Of course, once you get LIRC working it is relatively easy to use the remote to drive other applications. MythWeb and Remote Access MythTV’s front end interface provides access to all the MythTV features but it is not the only way to make use or control MythTV. MythWeb is a web-based interface to MythTV. I had to install the Apache web server before installing MythWeb. MythWeb plus Apache adds minimal load to the system. MythWeb can provide access to TV listings as well as a list of recorded programs, current recording status and other aspects of MythTV status and control. It is possible to setup new recordings and the search mechanism is easier to use than MythTV’s front end. Of course, MythWeb is typically used on a PC that has a higher resolution screen plus a keyboard and mouse making navigation easier. MythWeb does not have a playback facility but it is possible to view a list of recorded programs that have links to the media files. Setup VLC (VideoLan Client) properly and you can simply click on a MythWeb recorded program link to starting playing it. The VLC playback configuration is a little more work since you need to setup either an NFS or Samba file server so the workstation can access the media file. VLC is available for a number of platforms including Windows and Linux. One thing you lose when using VLC is support for commercial flagging. This feature is available on the MythTV front end. After a program is recorded its name is added to a queue that the MythTV commercial flagging program processes. It generates a file that marks the commercials so the front end can skip them during playback. If you use VLC then commercial skipping must be done manually or you could enjoy the commercials. One other service I normally include with a MythTV setup is the VNC (Virtual Network Computing) remote control program or its variants like RealVNC or TightVNC. These systems run a server on the host and a client on the remote control PC. It provides access to the graphical desktop. It tends to be an easier way to manage a headless machine. VNC can be setup to expose the main desktop where MythTV is running. It is also possible to serve up one or more desktops that are independent of the main desktop. There are a number of advantages to independent desktops especially since the resolution does not have to match the main desktop. The main desktop is typically 640 by 480 for SD televisions and higher for HDTV displays. Other Multimedia Content MythTV is known for its DVR support but it is not restricted to video. The system also supports streaming audio, still images, and even games. This is comparable to some other networked DVR systems on the market. The support for features like streaming audio is provided by optional plug-in modules. The icons show up on the menus if the modules are installed. Other modules include features like DVD playback and recording, generation of CDs or DVDs from recorded content, web browsing including access to NetFlix (if you have an account). Coverage of all the possible add-ons is an article all by itself. A More Complex MythTV Setup I have enjoyed using MythTV and actually have a distributed system that runs four tuners on multiple servers. All the PCs on the network running Windows or Linux are setup to use VLC and MythWeb. Some of the Linux PCs run the MythTV front end as well. I also run my Hauppauge MediaMVP (see Building A Multimedia Home Control Center, Part 2) on the network as well running the open source MediaMVP Media Center (MVPMC). MVPMC is comparable to the MythTV front end although significantly limited without the plethora of plug-ins that the MythTV front end has. Still, it can deliver video, streaming audio and still images. Setting up MVPMC requires an additional level of sophistication because it boots off a server. This requires a local DNS, TFTP and NFS server. It is a bit more complicated than setting up MythTV but relatively simple for anyone familiar with these services. It is easiest to setup the configuration on Linux but it is possible to do so under Windows as well. Of course, once you have the MVPMC up and running it is also relatively easy to set up a PC with Ethernet PXE boot support to run Linux and the MythTV front end. As you might expect, I’ve found this configuration to be easy to maintain quite robust. In fact, getting an additional PXE-based system up and running after the first one is relatively trivial. Of course, how many people have four or five TVs in their house? These days, more than you think especially as people migrate to HDTVs. I found my viewing habits changing as the system was built from a single tuner and a single playback platform to the distributed system. For me, four tuners seem to be the magic number as does the 500Gbyte boundary for recorded material. Recording conflicts rarely occur and 500Gbytes provides a couple weeks of recording history. We essentially have more material at our fingertips than we can possibly watch but it is easy to sit down and watch what you want when you want to. As any DVR user knows, fast forward and commercial skipping can compress shows to a fraction of their original length allowing more viewing variety. Turning It Into A Product While I do not have any intention of turning this system into a real product, the actual process is rather straightforward since all the design work is essentially done. The only necessary steps are to copy the portions of the base board design that we used (COM Express, power, Ethernet and PCI interface) to a PC board layout program to lay out a custom carrier board. This can easily be built using a third party system house. Turn around time could be a matter of days or weeks at the most. Of course, packaging may take some time as well. Upon delivery of the final system it is just a matter of utilizing the already tested software to verify that the implementation is consistent. Compared to a custom solution, this approach wins by a wide margin if time to market is the critical factor. Likewise, reduced costs may be available if a less expensive COM Express module would be sufficient. Ubuntu has desktop and server versions that are suitable for a wide range of embedded applications. It should be of interest to additional developers as well with versions in the making targeted specifically at embedded applications such as mobile devices. This project is one way to get started with Ubuntu. Related Links
Hauppauge Computer Works
Kontron
Linux Infrared Remote Control
MediaMVP Media Center
MythTV
RealVNC
SageTV
Seagate
TightVNC
Ubuntu
VideoLAN

multicore
Part Inventory
Go
powered by:
 

 
You must log on before posting a comment.

Are you a new visitor? Register Here
    There are no comments to display. Be the first one!