Linux Beach MultiMedia Center

Users Guide

Table Of Contents

  1. What is MythTV?
  2. History
  3. Features
  4. Quick Start Guide
  5. Remote Commands
  6. Keyboard Commands
  7. Administrative Information
  8. Scheduling Recordings.
  9. Record Types
  10. Scheduling Options
  11. Storage Options
  12. Post Recording Processing
  13. Advanced Recording Options
  14. Watching a DVD or VCD
  15. Ripping a DVD
  16. MythVideo
  17. MythMusic
  18. MythGallery
  19. MythWeather
  20. MythPhone
  21. MythNews
  22. MythBrower  
  23. MythGame
  24. MythArchive
  25. MythFlix
  26. MythWeb
  27. Advanced Setup Topics
  28. LBMC Blaster codesets
  29. Nvidia Setup


What is MythTV?

MythTV is shell that organizes a tremdous amount of open source multimedia software for the purpose running your home entertainment system.
MythTV is a collection of software which runs under the Linux operating system, and provides the functions commonly known as a PVR or DVR (personal, or digital, video recorder) — essentially, it's a computerized VCR, similar to a TiVo or a Replay... but since it's open source software, if you don't like the way it does something, you can always change it — that's how much of its current functionality came about in the first place.

In addition to the basic PVR functions of recording and playing back scheduled programs and allowing you to schedule recordings automatically in advance, MythTV has a plugin system which permits it to be extended by other programmers; plugins currently exist for playing external video, viewing photos and listening to music files, using your TV and a web camera as a video-telephone over the Internet, browsing the web, retrieving current local weather, and many other functions.

History

Sometime back in 2002 (before May 15th, which is his first website news posting), Isaac Richards decided he wanted something more from his television.

He says:

I got tired of the rather low quality cable box that AT&T Broadband provides with their digital cable service. It's slow to change channels, ridden with ads, and the program guide is a joke. So, I figured it'd be fun to try and build a replacement. Yes, I could have just bought a TiVo, but I wanted to have more than just a PVR -- I want a webbrowser built in, a mail client, maybe some games. Basically, I want the mythical convergence box that's been talked about for a few years now.
So, in late April 2002, I started tinkering with stuff. I bought a cheap TV tuner card from Best Buy, and threw it into my desktop box (P3-550). I started playing around with different video encoders, and eventually decided that NuppelVideo provided the best quality video for the amount of CPU it took up. It's based on a modified RTjpeg codec, and it looks rather nice, in my opinion.
Unfortunately, the poor P3-550 really couldn't encode and decode video at the same time. So, I took the plunge and bought a better machine — an Athlon XP 1800+. I based the machine off of an Abit NV7-133R motherboard, and put it into a nice black case.
See the news updates/archives for what's happened since.

Features

MythTV provides home theatre functions such as the ability to:



Quick Start Guide

Physical setup is very similar to normal desktop PC setup except for the additional connections for TV, Stereo and remote control. For easy of connection you will probably want to chose a place close to your TV monitor and stereo system, however, if proper cables are used, the video and audio signals can be sent more than twenty feet without significant degradation.


M )        Side Speaker Out


The AC power, keyboard, mouse and network connections are all as for a normal PC. The Gb LAN interface assumes a dynamic host address, if a static address is to be used this address will have to be set manually through the Ubuntu Administration interface. Other USB or firewire peripherals may be plugged in as usual, including the USB transceiver for the cordless keyboard and mouse. Specific features of the LBMC are addressed below:

1) Video connection
The LBMC can support up to two video displays using VGA, DVI or S-Video interfaces. If only one display is connected, then Mythfrontend (the user interface) will start on that display. That means in it's simplest application, LBMC can be connected to the S-Video or DVI input of a TV or flat screen.
If two displays are connected to the LBMC, the Mythfrontend will start on the S-Video display, and if no S-Video display is connected, it will start on the DVI display. In both cases the Gnome Desktop will start on the other display. This is the default behaviour and is entirely customizable. For example it is possible to run two instantances of Mythfrontend, one on each display. This is not recommended however as they both listen to the remote and will compete for the sound system.

On the LBMC-500 the S-Video and VGA cables plug directly into the video board on the back of the system. The LBMC-1000 has two DVI outputs are require the included DVI-VGA adapters for VGA monitors. There is also an included dongle that plugs into the video board on the back of the LBMC-1000 that allows you to connect an S-Video, composite or RGB monitor to the system. All of these types of monitors will act as the S-Video monitor describe above.

2) TV - RF in
This is a standard 75 ohm F-type TV cable connect. This is the threaded cable connection at the top of the PVR150  backplate. Connect it to  TV antenna or cable source. 125 channels are supported. Also on this backplate are S-Video jack, RCA phono type composite video and 3.5mm mini-jack stereo audio inputs. Alternately these may be used to connect an external video source, such as a cable box, to the LBMC.

The LBMC also supports IEEE1394b firewire I/O used by many cable boxes and HD receivers.
PVR150 back panel

3) IR Remote Receiver & Blaster
This is that messy wire thingy. The plug plugs into the small hole at the bottom of the PVR150 backplate and has two wires leading from it. The fatter, shorter one has the IR receiver on the end and this should be positined where it can "see" the remote control when you are using it. The skinny very long wire is very delicate. It has the IR Blaster on the other end of this. It you need the IR Blaster to control a cable box or other IR reciever, you should position the blaster were the device can "see" it. Otherwise you should leave it bundled up.

4)  Audio Out connections
Eight channel analog audio out can be had from the four 3.5mm stereo mini-jacks on the Main Rear Panel. Stereo speakers may be plugged into the Line-Out jack on the Main Rear Panel or the Front Panel.
Coaxial Digital Input may be connected to the S/PDIF RCA phono jack in the Main Rear Panel.


System Power On  & Off
Before the system can be powered on it must be plugged into AC power and the rear Power Supply switch must be in the On position. The system can then be turned on with the front-panel power on buttom.
The system should not be turned off simply by killing the power or switching it off. This can lead to data corruption and damage. The system should be powered off from the Gnome System Menu, which you may have to exit MythTV to see, or with the IR Remote using the buttom sequence <Go><Power><Go>.


Initial Setup Tasks

Before you can properly used your new or moved LBMC there are a few things you need to do to configure it for your location.

1.) Set Time/Date for your location.
Go to the Gnome Desktop. If using a single monitor, you must exit MythTV, either by pushing the <Power> button on the IR Remote or the <Esc> key on the keyboard.

On the Desktop, from the top  bar drop down menu  find System -> Administration ->Time and Date 
Enter the administrative or 'root' password 'cosmos'. On the next screen set your Time, Date and Time Zone and click OK.



2. ) Getting your Electronic Program Guide Information.

The thing that drives all the scheduled program recording and live TV on screen  display  (OSD)  is  an Internet accessable program guide for your particular location, cable or TV provider. This service is made available for free (for now) by Zap2It DataDirect.

Zap2It DataDirect is a service provided by Zap2It, a subsidiary of Tribune Media Services. TMS is one of the primary providers for program listing data in the United States and Canada.If you wish to use Zap2It DataDirect, you'll need to establish a user account. Go to http://labs.zap2it.com and click on the "New User? Sign Up" link. Read the license terms, and if you agree with them click "Accept". The next screen is the subscription registration. In the "Certificate Code" field, enter ZIYN-DQZO-SBUT. Fill in the survey, then proceed to the lineup choices and configure your account for your particular location and the channels that you have. This configuration will be imported into MythTV when you first run the mythtv-setup program.

To run mythtv-setup you will need to open a terminal console, which you can think of as a window into Linux box's soul.  Again from the bar menu:

Applications -> Accessories -> Terminal


At the Terminal prompt type
mythtv-setup <Enter>



You may get a message that the backend is running. Press <Enter> to Continue. You will get the main setup screen.



With the highligthed choice on 1. General press <Enter> , then press <Enter> for Next 3 times to pass the following screens:




and get to this one:



If you disturbed any of the setting on the previous screens. Use these screen shots to set things right. This is very important.
On this screen you will need to adjust a few things for your location:

  TV format: NTSC        - for the US it is always NTSC, otherwise set it for your national format.

Channel frequency table:  us-cable-hrc      -  set this for the channel frequency table most often used in your area, this will set a default. Again, in the U.S. this will likely be us-bcast, us-cable, us-cable-hrc, us-cable-irc. us-bcast is for all antenna users, then there are 3 favors of cable. Which one is you? Who can tell? Maybe your cable company. Or you can just cycle through them and try live TV until you see which one gets your channels right. You might want to try that while you're on hold to your cable company. Let me know which method works faster.

Having set those two fields, press <Enter> seven more times to get back to the main setup menu.
From the main setup menu, now chose

3.) Video sources 

Then (Delete all video sources)

Then
(New video source)




In the Video source setup screen give the Video source a name, say media-one, I mean at+t, I mean comcast, oh no, now its time-warner. But really you don't have to change this name every time your cable company changes, what a pain that would be. But it is use to identify that program source to the system.

Assuming that you are using the Zap2It DataDirect service above,

XMLTV listing grabber: North America (DataDirect)

doesn't change. You must enter the User ID: and Password:  you created for the Zap2It account and then Retrieve Lineups, Then Finish
Then <Esc> back to mane main setup menu and choose

4. Input connections


On that screen, select the first Input connection select:

[MPEG: /dev/video0](Tuner)->


On this screen, <Tab> to Video source: and select the Video Source you created above.  Then optionally you may Scan for channels before selecting Finish. If all is well, the Scan for channels will find them. :-)



We are now done with mythtv-setup program, you can <Esc> out of it. Note the message at the last screen before you press <Enter>. This is a master backend server, so you will want to run 'mythfilldatabase' after you return to the Terminal prompt. So do it! Type:

mythfilldatabase <Enter>

It will run and should grab the next two weeks worth of program info from Zap2It. If it doesn't look, for problems. It can't be your Internet connection because you already fixed that when you tried to signup for DataDirect in the first place. After this initial data retrieval, you don't have to worry about it. The updates will happen automatically every few days, but you will have to renew the free service every three months. I just didn't want you to have to wait for the next regular update before you started using the system.

You now need to reboot the LBMC. You can do this by typing:

reboot <Enter>

at the Terminal prompt, or by selecting the red power-switch icon in the upper right corner of the Gnome Desktop, or by powering it off with the button sequence <Go><Power><Go> from the IR Remote. Then you have to turn it back on again. You can't do that from the remote yet.

You are now done with your initial setup and installation. Enjoy



Remote Commands

The LBMC is designed to be operated by the IR Remote for most home entertainment functions.
LBMC Remote

The Function Keys F1 - F6 can be programed to custom functions with MythWeb.

Keyboard Commands

Keyboard Commands allow a much more detailed control of MythTV than the IR Remote does. More Keys. :-) The keys.txt file describes what the various keyboard commands are. If you have loaded mythweb, you may change the default keys to your liking.

mythfrontend

Arrow keys used to move the highlight point around
ALT-F4 exit out of the application
Space/Enter take action on the item under the highlight point
P play in both "Watch a Recording" and "Delete a Recording"
D delete in both "Watch a Recording" and "Delete a Recording"
U to view details for the currently selected show on the Watch or Delete screens, EPG, "Program Finder", "Fix Scheduling Conflicts" and search results screens
O to list the upcoming episodes for the currently selected show on the EPG, "Program Finder", "Program Recording Priorities", "Fix Scheduling Conflicts" or search results screens
I edit recording options from the EPG, "Program Finder", "Program Recording Priorities", or "Fix Scheduling Conflicts" screens. From the Playback and Delete screens, 'I' presents options for recorded shows such as Auto Expire or Stop Recording. Pressing 'I' while on the Recording Options screen will take you to the Advanced Recording Options screen.

Watching TV or a recording

Up or down keys change the channel
num pad Type a number to enter a channel number or jump amount (HHMM format)
P pause / play. You may also add an explicit keybinding for 'Play' through MythWeb, returning you to normal speed if you are in slow motion, rewind fast forward or pause mode.
C change inputs on TV Tuner card
ESC quits
I puts the On-screen Display up again. During playback, 'I' toggles between position and show description info. If a jump amount is entered, jump to that position.
M brings up the electronic program guide (Grid) -- see the EPG section
Page Up jump back the configured number of minutes (default is 10)
Page Down jump ahead the configured number of minutes (default is 10)
End or Z skip to next commercial break marker
Home or Q skip back to previous commercial break marker
T toggle close caption support Pressing 0-9 (preferably 3 times) + T changes teletext page and turns on teletext.
F rotate between the various Picture Adjustments (Colour, Hue, etc.) While Picture Adjustment is on-screen, use Left and Right arrows to adjust. These settings adjust the look of the video playback, and are independent of the G-key settings used at record-time.
[ or F10 decrease volume
] or F11 increase volume
| or F9 toggle mute
/ jump to the next "favorite" channel
? mark/unmark the current channel as a "favorite"
U increase the play speed
J decrease the play speed
A Adjust time stretch (speed up or slow down normal play of audio and video
W cycle through zoom and fill modes: 4:3 aspect ratio, 16:9, 4:3 Zoom  (like Pan and Scan), 16:9 Zoom, and 16:9 Stretch (eliminates black  sidebars in TV signal)
F8 toggle the sleep timer 30m->1hr->1hr30m->2hr->Off
CTRL-B Jump to the beginning of the recording / ringbuffer
+ Switch between audio streams
Left (if a jump amount is entered) to jump back that amount
Right (if a jump amount is entered) to jump ahead that amount



Without the stickykeys option selected
Left rewind the configured number of seconds (default is 5)
Right fast forward the configured number of seconds (default is 30)
< starts rewind mode as if stickykeys are selected
> starts fast forward mode as if stickykeys are selected



With Stickykeys option selected
Right starts fast forward mode
Left starts rewind mode



In fast forward or rewind mode:
Left/Right increases the ff/rew speed
0 plays at normal speed, but leaves the time indicator on screen
1 or 2 plays back more slowly than normal ff/rew speed (1 is slowest)
3 plays back at normal ff/rew speed
4-9 plays back faster than normal ff/rew speed (9 is fastest)
Space exits fast forward or rewind mode



While video is paused:
Left rewind 1 frame
< rewind 1 second
Right advance 1 frame
> advance 1 second

Watching TV only

G rotate between the various Picture Adjustments (Colour, Hue, etc.) for recording. These values affect the look of the resulting .nuv file, and are independent of the playback picture settings. While Picture Adjustment is on-screen, use Left and Right arrows to adjust.
H Channel history. Each repeat steps back through the previous channels.
O Turns on 'Browse' mode, allowing user to browse channels and program info while watching current show FullScreen.
Y switch between multiple capture cards.  NOTE: you will lose your LiveTV buffer on your current card. Useful for different-sourced cards (such as Dish Network on one, HDTV over-the-air on another card.)


LiveTV Browse Mode

Left browse program prior to current listed program
Right browse program following current listed program
Up browse program on channel above current listed channel/program
Down browse program on channel below current listed channel/program
/ browse program on next favorite channel
0-9 enter a channel number to browse
Space/Enter change channel to channel of current listed program
R/r Toggle recording of current program (cycles through types)
ESC/O Exit Browse mode

Playback Recording Zoom Mode

Left Move video to Left
Right Move video to Right
Up Move video Up
Down Move video Down
PageUp Zoom In
PageDown Zoom Out
Space/Enter Exit Zoom mode leaving picture at current size and position
ESC Exit Zoom mode and return to original size

If you have two or more tuner cards

V toggle Picture-in-picture on or off
B toggles the window focus (lets you change channels on the PiP window)
N swaps the two channels by changing channels on both cards

Watching a recording only

Space/Enter set a bookmark at that point. Next time you start the recording, you will automatically jump forward to this point and clear the bookmark.
X queues the current recording for transcoding
O brings up menu to allow toggling settings such as Commercial Auto-Skip, Auto-Expire, etc.
D exits the current recording and displays the Delete menu
E or M enters/exits edit mode.





In edit mode
Left/Right move forward and backward
Up/Down alter the amount of time you jump forward and backward. Increments are: nearest cutpoint, nearest video keyframe, 1 frame, 0.5 seconds, 1 second, 20 seconds, 1 minute, 5 minutes, and 10 minutes.
PageUp/PageDown move forward and backward to the nearest cut point
< or > move forward or backward by 10 times the normal jump amount
Space/Enter allows you to set or delete a cut point
Z loads the commercial skip list (if one exists) into the cutlist
C or Q clear all cut points in the cutlist
I Inverts the cutlist

EPG

Arrows are used to move the highlighted program point around
A, D, S, W perform the same as left, right, down and up
PageUp/PageDown move the channel list up or down a page
Home/End move the highlight left or right by one day
Ctrl+Left or < move the highlight left by one page
Ctrl+Right or > move the highlight right by one page
9, 3, 7, 1 (like a numeric keypad) perform the same as PageUp, PageDown, Home and End
I bring up more information about a show, and allow you to schedule a recording. If you select "Record this showing" while watching Live TV you can "Instant Record" a program.
Space/Enter allow you resolve conflicts or change overrides. If the program is not already scheduled to record, it will instead act like pressing 'I'.
M when on a channel will change to that channel
ESC or C exits without changing the channel
R change the current item from Recording/Not-Recording. Successive keypresses cycle through the scheduled recording type list.
X change the channel to the currently selected channel without leaving the EPG (Most useful in the alternate EPG)
? mark/unmark the current channel as a "favorite"
/ or 4 toggle the guide listing between all channels and filtered "favorites"

Setting Program or Channel Recording Priorities

Right increases priority value
Left decreases priority value
1 sorts by title
2 sorts by priority
Home/End toggle sort priority
I edit recording options
ESC commits changes and exits

Viewing Scheduled Recordings/Resolving Conflicts

1 show all recordings
2 show only important recordings
Home/End toggle show showing all/important
I edit recording options
Space/Enter resolve conflict or override

Viewing Search Listings

Home change to the previous view if applicable
End change to the next view if applicable
M select another view if applicable. In the title and description search popup, press M again to edit or delete the selected view.

Recording Profiles Setup Screen

D on a custom profile group displays a popup to delete the group


Recording Groups

In the Watch Recordings screen, Recording Groups allow you to separate programs into user-defined categories, such as "Kids", "Alice", "Bob", etc. This can be used to reduce clutter, or to segregate content if you use the PIN function.

M change the view or to set a group password
I move a program from one Recording Group to another

Watch Recordings Screen

1 or F1 Meaning of the icons
/ Tags a recording. Tagged recordings can be played either in order or shuffled and deleted as a group. You can also change the recording group for several recordings at once by tagging them and using the popup INFO menu to change the recording group.
? Clear the tagged list.



Administrative Information

This might also be a opportune place to give you some basic administrative information:

The following users and password have been create for human use:
             User                     Password
             root                        cosmos            Administrative Superuser, "God"
             mythtv                   cosmos           autologin user for MythTV, also has Ubuntu administrative rights
             user0                     cosmos           normal user with Ubuntu administrative rights 

MySQL  users & password:
                root               cosmos
                mythtv           mofsarea

A number of administrative tools, as well as the Cosmos Engineering website are available by opening a browser to http://localhost. Firefox defaults to this home page. There you will find links to:

WebMin      @ https://localhost:10000              user  'root'            password  'cosmos'

    WebMin is a very full featured browser based administrative system for Linux.

phpMyAdmin  @        http://localhost/phpmyadmin        user     'root'        password    'cosmos'

     phpMyAdmin is a web based client for MySQL. While assumes some knowledge of sql databases, since the MythTV system is driven by the MySQL database, it can be a useful tool in skilled hands.

MythWeb      @ http://localhost/mythweb                  user    'mythtv"   password   'cosmos'

     This is a web based interface to the MythTV system. It will allow you to check system status, schedule recordings, even play misuc and videos over the network.

In addtion the normal Graphical User Interface (GUI), three virtual terminals can be accessed  with <Alt><Ctrl><F1> ... <Alt><Ctrl><F3>
Also a number of important system logs may be viewed in virtual terminals as follows:

<Atl><Crtl><F4>        /var/log/messages
<Atl><Crtl><F5>         /var/log/myth/mythbackend.log
<Atl><Ctrl><F6>         /store/temp/mtd.log

Filesystem Layout:

/etc/fstab:

#       <filesystem>                         <mount  point>      <type> 
        proc                                            /proc                     proc   
        /dev/sda2                                    /                            ext3   
        #/dev/sda1                                  /mnt/winmce        ntfs
       /dev/sda5                                     none                      swap
        /dev/hdb                                      /media/cdrom0     udf,iso9660
        /dev/fd0                                       /media/floppy0     auto
        /dev/mapper/store_grp-storelv   /store                    jfs

The storage file system uses IBM jfs format because of its ability to deal with large files easily. It is organized by Logical Volume Management (LVM) so that it can be easily expanded. It is divided as follows:

            /store/movie_images
            /store/movies
            /store/music
            /store/pictures
            /store/temp
            /store/videos

From MythTV How-To:

Scheduling Recordings.

The MythTV master backend is responsible for managing the schedule for all TV tuner cards on the master and any slave. Its job is to search the TV listing for the shows you have requested and assign recordings to the TV tuner cards. If none of the shows that you've chosen overlap, it simply records all of the shows. However, if there are shows where the beginning and end times overlap, the scheduler follows rules that you've specified or makes logical decisions about what would be best if you haven't express your preference. Further, the "Upcoming Recordings" page allows you make specific decisions about what you really do and don't want to record.

Record Types

When you choose a show that you would like to record from the Options Page, there are eight different types of rules to help the scheduler find which showings you would like to record.

Scheduling Options

Priority

By default, all shows you select have equal value to the scheduler. There are a set of rules to make good choices when two or more shows are in conflict. However, priority values let the scheduler know what you prefer so that it can set the schedule based on your preferences.

Initially all priority values are set to zero. You may choose to leave everything at "0" and let the scheduler follow rules to guess what you might prefer when there are conflicts. However, if you have one or two favorite shows, you may want to increase the priority value so the scheduler will know that you would prefer recording these over other shows. You might use certain values to rate shows so that all favorites are 2. good shows are 1 and extra 'filler' shows are all -1 for example. You could sort each title on the "Set Priorities" to have a unique value so the scheduler can always know which show you'd prefer versus any other show. The choice and style are entirely up to you. However, the more information you give to the scheduler, the more likely it will make the choices you would prefer in the first place.

The scheduler choices are based on the total priority for a showing by adding up four different priority factors. By default, most of these factors are "0" but you may use any combination to express your likes and needs.

Per record rule -- this is the "priority" field in the "Scheduling Options" section of the options page and this values is included for any showings that match the recording rule. You may choose to only use these values and not use the other factors for the sake of simplicity and clarity.

Per record type -- Setup->TV Settings->Recording Priorities->General allows you to add to the priority based on the type. It may make sense to increase the value for "Single" so that by default they have an extra advantage over other shows. The default is +1. You may want to decrease the value for Find rules so that they will be less likely to interfere with regular shows and will be more likely to record in a non-conflicting time instead. The default is -1.

Per channel -- Setup->TV Settings->Recording Priorities->Channel Priorities can be useful if you believe that you prefer any of the shows on certain channels. This would give all shows on a channel an advantage by default.

Input priority -- in the "mythtv-setup" program, the "Input Connections" section allows you to add additional priority in the "Input priority". This is simply another priority factor but has an interesting effect. If a card input has a higher value than the other cards, the scheduler will see that you would rather record showings of episodes on this input rather than a showing on another card. If you have multiple cards of different quality, you may want to set input priority to encourage the scheduler to record shows on your best card(s) whenever possible. This can also be useful if you have multiple video sources which include the same stations. For example, with digital and analog cable you could increase the digital cable input preference by 1 to tell the scheduler that you want to record from the digital station whenever possible but the station on the analog input could still be used when the digital input is busy.

For any single showing of any show you've chosen to record, these factors are added together to find the "total priority". This is the priority that the scheduler uses to decide which shows are given the first choice when filling in the schedule.

The scheduling priority of a show may also be used to determine auto-expiration of recordings when disk space gets full (see Auto-Expire, below).

Duplicates

Singles will record without regard to duplicate matching.

The standard recurring methods of All, Channel, Weekly and Daily use the descriptive information in the TV listings to try to record only one showing of each unique episode. However, This goal is sometimes complicated by the fact that the stations may not include a description for a specific episode but use a generic description for the series instead. When there is a generic description, the default behavior is to assume that it may be an episode that you have not seen and to record it for you. One of the duplicate matching options is "Record new episodes only". If this is selected, listing that have an original air date of more than 14 days earlier are considered repeats and are not eligible to record. Generally, generic episodes will be marked as repeats also.

Because of generic episodes and other situations, MythTV offers an alternative approach where shows may be recorded by choosing from multiple showings even when the descriptive information is not reliable. All of the "Find" record types look for matching titles in the listings. If there is a showing with specific episode information and that episode has recorded before, that showing is marked as previously or currently recorded. The scheduler will then choose to record the earliest non-conflicting showing from any of other remaining showings regardless of the descriptive information. Generally, Find One is most useful for movies or specials and the Find Daily and Find Weekly rules are best for news or current events shows that are repeated. However, these may be useful in other situations where the standard recording rules may not work correctly.

Conflicts

As you add more shows that you would like to record, the scheduler will eventually encounter conflicts. If there are two shows at the same time and you have two or more TV tuner cards, both shows will record. However, if there are more shows than cards, the scheduler will have to decide what it thinks it should not record based on the information you have given. If you see an unexpected situation you are not "stuck" with the scheduler's choice. You can still tell the scheduler exactly which shows you do want to record and/or don't want to record in any situation.

Scheduling decisions

Here are the actual decisions made by the scheduler as it fills in the schedule.

Reschedule Higher Priorities

Setup->TV Settings->Recording Priorities->General has a checkbox for "Reschedule Higher Priorities" which tells the scheduler to try to be a little smarter in certain situations. If this is checked, the scheduler will look for situations where a show cannot record because all inputs for the channel are used for higher priority shows. It will check to see if any of the other shows could be recorded at another time so that the conflicting show can be recorded in its place.

Generally, this is a good strategy but there are tradeoffs. If a higher priority show is postponed, you will not get to watch it until it is recorded in the later timeslot. There is also a risk that the TV listings may change and the later showing may go away. In this rare case the higher priority show may never record. On the other hand, if you do not use this option you will miss recording some lower priority shows unnecessarily unless you manually make similar changes.

By using Reschedule Higher Priorities, the scheduler will do a better job of recording as many of your shows as possible when left unattended. It will also be easy to see that shows have been marked to record at a later time. You can then decide for yourself when you would prefer to record the first showing by clicking "Record anyway".

Controlling Your Schedule

The Manage Recordings->Upcoming Recordings page is your control center for the MythTV scheduler. Unlike other DVR systems, this one page gives you all of the information and tools you need to see all of your alternatives and make whatever adjustments you desire.

The upper half of the screen has a scrollable box listing items that match your record rules sorted by time. The lower half shows the details for the highlighted item. There are two 'views' available. Press "1" to include all of the items that match record rules even if they do not need to be recorded. Press "2" to focus on just the things that will record and items that may need your attention. The message in the upper right-hand corner will remind you when there are conflicts that would prevent one or more shows from being recorded.

The items in the list are colored in the record color for things that will record, white for things that may need attention, gray for those that do not need to record and yellow when there is a time conflict. Items at the top of the list may also be highlighted indicating that the recording is in progress.

Along with the channels, start times and titles, the right-hand column has a status code. Numbers indicate which card number has been assigned to record the show. Letters are used to indicate the reason that something will not be recorded. Just below the box is a short status message for the highlighted item that indicates the type of record rule that was matched, the "total priority" for this showing and a one or two word explanation of the status code. If you press SELECT, you will see more information about the status.

There are a few status codes that may require your attention. "C" indicates that there are more overlapping shows to record than there are TV tuners to record them. "L" indicates that the scheduler found that it may be better to record a later showing of this episode. These states happen as a result of your choices and should normally reflect your preferences. However, you may notice situations where you would like to modify the scheduler's initial choices.

The first thing you can do is to highlight an item and press INFO to see the recording options page. From this page you can change the record rule type, the duplicate matching rules, or raise or lower the priority to resolve whatever problem you noticed.

Additionally, you can treat any individual showing as an exception that you do want to record or don't want to record. To use these "override" features, highlight the item and press SELECT. You will see a message explaining the current status and at least an "OK" button to exit without making changes.

For items scheduled to record, there will be a button for "Don't record" which will prevent recording this showing but will still allow the same episode to record in the future. If there is episode description information, you may also see a button for "Never record". This prevents recording this showing and tells MythTV to remember that this is an episode that you've seen or don't need to see if it is ever in the TV listings again.

For items that are not scheduled to record, the message will describe the reason and in the case of "C" or "L" it will include a list of the shows that are scheduled to record instead. For any item that could potentially be recorded there will be buttons for "Edit Options" and "Add Override". "Edit Options" will allow you to change the options for the existing record rule such as raising the priority so that the show will record. These changes would apply to this and all future showings that match this record rule. "Add Override" will allow you to set options that apply to the specific showing without affecting the recurring record rule.

If you return to an override page after an override has already been set, you will also see a "Clear Override" to undo your changes. This option makes it very easy to try out some "what if" attempts when deciding on your best strategy in a difficult situation.

For a recording in progress, there will be a "Change Ending Time" button. This will take you to the options page for a Single or Override or create an Override if it is a recurring rule. Here you can go to the Recording Options section to change the program end time offset. If you extend the end time so that it overlaps upcoming recordings, the schedule will change to accommodate the new end time. This may cause a conflict or later showing even for a show with higher priority. Therefore, it is a good idea to check your schedule after changing the end time of a recording in progress.

Storage Options

Recording Profile

Each recording rule can be configured with a different recording profile. For example, colorful cinematography can be configured with a "High Quality" profile, while 'talking heads' interviews shows can be configured with a "Low Quality" profile. These recording profiles need to be configured before using them (see Recording, above).

 Recording Group

For organization of the "Watch Recordings" screen and the MythWeb interface, recordings can be assigned into "recording groups".

 Playback Group

This selects a set of pre-configured playback parameters which can be created and edited in Setup->TV Settings->Playback Groups. When the recording is played, the values from this playback group will be used. This allows you to choose a default time stretch value, skip and jump amounts appropriate for this type of television program.

 Auto-Expire

MythTV will "autoexpire" old recordings to make room for new recordings when disk space gets filled up. This option can be set to "Don't allow auto expire" to prevent these recordings from being automatically deleted when disk space fills up.

The default setting is for all scheduled recordings to be eligible for auto-expiration; this can be changed in the Settings->TV Settings->General page by manipulating the "Auto Expire Default" checkbox.

The default auto-expire policy is "Oldest Show First"; the oldest recordings are deleted first. The "Lowest Priority First" method chooses to expire the lowest-priority recordings first.

Episode Limit

An episode limit can also be configured to limit the maximum number of episodes recorded of a single series, to restrict that series' disk usage. If this is set, you can further decide what to do when this limit is reached; either stop recording that series, or to delete the oldest episodes in favor of the new ones.

Post Recording Processing

Commercial Flagging

Select whether or not to automatically flag commercials for these recordings. Commercial Flagging parameters can be set in Setup->TV Settings->General.

Transcoding

Select whether or not to automatically transcode recordings to save disk space. Before using this, you must first enable auto-transcode in the recording profile and configure the transcoding parameters; see Recording, above.

User Jobs

User Jobs allow you to configure up to 4 custom commands to run on recordings. They can be configured in mythtv-setup. The following tokens have special meaning when used in the User Job commands:

Advanced Recording Options

Creating Power Search rules with Custom Record

MythTV's "Custom Record" feature gives you unlimited control for creating specialized search recording rules to meet your needs. It allows you to choose your criteria to search for matching shows based on any of the information in the program listings, channel information, time functions and more. This goes beyond the capabilities of any other DVR system and it is unlikely that this level of scheduling customization will ever be available in any commercial DVR system.

Getting Started

Go to Schedule Recordings->Custom Record. This page, helps you build a database search one clause at a time. Each added clause further limits which showings will be matched in the TV listings. You can test the search at any time and when you are done, you can save your search as a recording rule.

To familiarize yourself with how you can create custom rules, create a simple rule to record "Nova" only in primetime.

The first item at the top of the page allows you to edit an existing rule or create a new rule. Leave it on "<New rule>". Arrow down to the third item which says "Match an exact title". Right and left arrows would allow you to select any of several prefabricated pieces or full examples but leave it on the default for now. Arrow down to "Add this example clause" and press SELECT (Enter or Space on a keyboard). The large text box should now show:

     program.title = 'Nova'
As you have probably guessed, this says that we want to search for all programs with the title "Nova" regardless of the time, day, channel, etc.

If you do not receive a PBS station that carries "Nova" or would like to use another title, edit the title by pressing the down arrow to highlight the text box and right arrow over the the word "Nova". If you are using a keyboard you can simply delete the four letters and type a different title between the quotes. With a remote control, you can do 'cell phone' style text entry with the number pad. The delete key is the "X" in the grouping for "1", zero is grouped with "9" and "0" acts as the "Caps Lock" key. With MythTV version 0.19 or later, you can press ENTER in the text box to popup a virtual keyboard.

Note: the text box honors many familiar Emacs control keys. It is also possible to cut and paste text into the text box so you can edit with a favorite editor or insert a rule sent in email or from other sources.

In any case, choose a title that is shown both in primetime and late night or daytime. Next, click the "Test" button. You should see a list of the upcoming episodes for "Nova" just as if you had clicked the Upcoming button for "Nova" elsewhere in MythTV.

Press ESC to go back to the Custom Record page. Move to the example selector then press the right or left arrows until you find "Only in primetime". Click "Add this example clause". You should now see:

            program.title = 'Nova'
AND HOUR(program.starttime) >= 19
AND HOUR(program.starttime) < 23
Click "Test". You should now see a shorter list with only the showings that begin between 7PM and 11PM. To create a rule for this, press ESC to go back to the custom page and move to "Rule Name:" then type "Nova" or anything else you would like. This is only a label and will not affect the search results. Once a name has been entered, the "Record" button will light up. Click this to enter the recording options page. If you named it "Nova" the title will say "Nova (Power Search)". Set whatever options you would like then click "Save these settings". You now have a special rule to record "Nova" but only when it is shown in primetime.

You can make further modifications to this rule by returning to the Custom Record page then press the right or left arrow keys on "Edit Rule:" until you find "Nova". You can experiment and test but the saved rule will not be updated until you click "Record" then "Save these settings".

To remove this, or any other rule, you can go to the "Recording Priorities" page, arrow down to the title, press Enter and change the the recording type to "Do not record this program" then "Save these settings".

How it Works

MythTV stores TV program information in a database and uses the Structured Query Language (SQL) to access the data. Information about each TV program is stored in the 'program' table and information about each TV station you receive is stored in 'channel'. These two tables are used in the scheduler queries and their fields are available to be used in your rules. The rules you create are stored in 'record'.

Normal rules in MythTV simply match the title in the rule with the titles in the 'program' table. MythTV also has search rules for "Titles", "Keywords" and "People". These store the key phrase in the description field of the rule and includes them in specialized SQL replacements for the normal title check. There is also a type called "Power Search" which takes the raw SQL in the description as the replacement for title matching.

Custom Record is a tool to help you build valid SQL for Power Search rules. You do not need to be a SQL expert to use Custom Record because the examples are known to work correctly and are usually self-explanatory so you can choose the pieces you need then modify them. Many powerful solutions to unique problems are possible by combining the examples. With some creativity and some knowledge of SQL, the possibilities are limitless.

Common Tricks and Tips

The example clauses marked "complete example" are actual rules that have been used to address specific problems. You may find that some of these are useful for you as-is or with slight modifications. These show off how powerful custom rules can be but there are also several simple idioms that you may find useful for many of the shows you would like to record.

Wait for a known title -- If there is a movie that you anticipate will be televised in the coming months but is not yet in the listings, you can select "Match an exact title", edit the movie title, click "Record" then choose "Record one showing of this title". The rule will wait weeks, months or years until this title shows up in your listings then it will record one showing. These rules have no impact on the scheduler throughout the day and only take a tiny fraction of a second when the master backend starts or when the listings are updated.

Silence series out of season -- "Celebrity Poker Showdown", for example, will have new episodes for a while then long periods where reruns are shown dozens of times per week. By checking the previously shown flag you can create a rule that will only match new episodes. Therefore, your schedule won't be polluted with dozens of entries marked as "Repeat" or "Previously Recorded".

       program.title = "Celebrity Poker Showdown"
AND program.previouslyshown = 0
This allows you to keep rules for your favorite shows that are dormant while out of season but will spring back to life when new episodes appear.

Choose showings on certain days -- Several cable stations will show their highest rated shows a dozen on more times per week. However, the scheduler only needs two or three choices to do a good job of making a flexible choice.

       program.title LIKE "Celebrity Fit Club%"
AND DAYNAME(program.starttime) = "Sunday"
This says to choose any showing of an episode that hasn't been recorded when it appears on Sunday. This prevents all the other showings during the week from being listed in the schedule.

Notice the word "LIKE" and the "%" at the end. This does wildcard matching so that this would match even if the title ended with "2". "III" or ":Revenge of the Snapple Lady". This can be useful where the title may change from one season to the next like "Survivor: %", "Big Brother%" or "The Amazing Race%".

Working with SQL

As you experiment, it is possible that you may misplace a quote or mistype a word. If there is a mistake when you press "Test" or "Record" you will see an error message returned from the database. This will usually give you a good idea about what needs to be fixed. However, for more subtle MySQL syntax errors, you can find more information in the documentation at http://dev.mysql.com/doc/mysql/en/. This contains a lot of information that can be useful for Power Search rules such as the "Date and Time Functions". There are many other good resources for SQL on the Web.

While the example clauses demonstrate how to use many of the data fields, you can get a more complete list of all the fields that are available by using a MySQL client program:

$ mysql -u mythtv -pmythtv mythconverg
mysql> describe program;
mysql> describe channel;
This will show the names of all of the fields along with their type and default value. Most are easy to understand but a few need some explanation in order to use them effectively with Power Search.

Finally, if you are doing something very experimental and a field is not giving you the results you had anticipated, you can always check the MythTV source code to see exactly how a field is used. The open source for MythTV is available from http://www.mythtv.org/ .


Watching a DVD or VCD

MythDVD is a MythTV module (see http://www.mythtv.org) that allows you to play DVDs and (optionally) VCDs. It can also be configured to let you rip DVDs and transcode their video and audio content to other (generally smaller) formats. The playing features are simply myth-style wrappers for
your favorite DVD/XVCD playing software (mplayer, ogle, xine, etc). The transcoding is based on and derived from the excellent transcode package
(see below).



Ripping a DVD


Subtitling with transcode is pretty much a hit or miss affair. Some DVDs work extremely well, and some generate awful results. If you find that
MythDVD transcodes a title with subtitles badly, you are encouraged to try and use transcode from the command line. Hopefully, future versions of
transcode will offer more robust subtitling capabilities.

You can keep AC3 audio in the transcoded files. For Dolby 5.1, this is probably a good choice as long as your myth box has some way to handle 6 channel sounds (e.g. SB Live passthrough).


MythVideo

INTERNET INFORMATION

MythVideo now supports contacting internet sites to grab information about the videos found. It does this by cutting out unnecessary information in the filename and doing a search. MythVideo will also grab a movie poster or coverart if it is available.

In order to start this process, once your videos have been scanned by MythVideo, in the 'Video Manager' screen, simply select the video you want
to find information/artwork for. MythVideo will contact imdb.com. If there is just one result returned, MythVideo will use the information from that
page. Otherwise, MythVideo will present you with a list of movies and the year of the movie.

IF MYTHVIDEO DOES NOT FIND YOUR MOVIE OR JUST SEEMS TO DO NOTHING - Do not despair! MythVideo also allows you to enter the IMDB Movie number manually. To enter a movie number manually or reset an entry in the event of bad information, simply hit 'M' and select either 'Reset Entry' or 'Manually Enter IMDB #' (depending on what you want to do).

If that fails, or you wish to set the cover art by hand, then just hit a number key on your remote. All will be well.

PARENTAL LEVEL INFORMATION

MythVideo now (really ... honest) supports the ability to limit what can be viewed without a password/pin. There are 4 different levels that a
video/file can be set at. From within the configuration you can select a default level. Any videos/files at or below that level will show up in the
list.

MythVideo will only stay at that level until you try to change the level (by hitting keys 1-4 in the Browse or List screens).

Note: A video that is set to level 0 will not be seen in any lists other than the video manager. The Video Manager has complete control over the
parental levels of each video. For this reason, if the level 4 password is set, you will be prompted upon entering the Video Manager for the level 4
password.

MythMusic

MythMusic was written by Isaac Richards <ijr@po.cwru.edu>

MythMusic is the plugin that MythTv uses for all your mp3 needs. You can browse through large music collections stored on the local hard drive, CD/DVD or an alternative source on your home network and play music back in an ultimate mp3 jukebox fashion.

As we are in the world of Linux you will certainly come across Ogg and Vorbis formats for compressed music files. These formats are unpatented unlike mp3, wma etc.

You can of course extract music from audio cd's to your mythbox using the "Import CD" feature. The first process is to 'rip' the audio from the CD, the audio is then 'encoded' to a compressed format such as mp3. If connected to the internet your mythbox can identify what disc you have put in the drive and retrieve the relevant track/artist details.

Troubleshooting tip:

The "import CD" feature may fail using "ogg encoder". If so, try switching to mp3 encoding, which should provide a workaround until a permanent solution arises. Music encoding may also fail due to insufficient heat dissipation within your PC case.

Mp3/ogg encoders are demanding of a CPU, and the heat generated can cause erratic results in the CPU or RAM. (Note: Modern CPUs will usually shut themselves off before reaching damaging levels of heat, but this does not guarantee rock-solid performance before that point.)

Using MythMusic

MythMusic is fairly simple to use. It is recommended that you insert the CD before selecting "Import CD".

Playlist Management

Another item to consider: there are some CDs that contain computer data that runs as a "CD Extra" when inserted into some Windows PCs and Macintoshes. As of 2003-06-10, MythMusic doesn't support track skipping or individual track selection, so if you have a CD with "CD Extra" data you will not be able to encode it; MythMusic will hang attempting to encode the non-audio data.

Here's some information on playlist management:

Q: How do I create a new playlist? A: Using the MythMusic "Select Music" menu option, setup the playlist as you normally would by adding songs or other playlists as needed. When you are ready to save the new playlist, highlight "Active Play Queue" at the bottom of the selection tree and hit the "i" key. This will pop up a menu allowing you to name and save the new playlist. You can also hit Enter to bring up the popup on the Active Play Queue. This does not work on the playlists above, as Enter is obviously bound to checking/unchecking the boxes. Any number (ie. keypad on remote) will also bring up the menu in both cases.

Q: How do I enter the playlist name in the text field without a keyboard? A: Use the keypad number keys (bound to your remote) to select letters quasi-cell phone style. Keys 2-9 work pretty much like any cell phone text entry. 1 cycles through a few special characters, delete, and space. 0 is like a CAPS LOCK. Hard to describe, fairly easy to use. You will soon be able to specify the cycle timing in a Setup screen. You can type fairly quickly through a combination of jumping around the number keys AND hitting a non-number key (right arrow is particularly good for this) to force the current character.

Q: How do I edit a playlist? A: Highlight the playlist in the selection tree and hit the "i" key then select "Move to Active Play Queue" in the popup. You can now modify the "Active Play Queue" like normal, adding songs and playlists by selecting them from the song tree. When you are done, highlight the "Active Play Queue" in the selection tree and hit the "i" key then select "Save Back to Playlist Tree". And whatever you were editing as your Active Queue before you moved an existing playlist "on top" of Active reappears. Think of Active has having a push on, pop off capability, but with a depth of only 1.

Q: How do I delete an item from a playlist? A: Highlight the item in the selection tree and hit the "d" key.

Q: How do I rearrange the songs in my playlist? A: Highlight a song and hit the "space" bar, the song will now have pair of red arrows in front of it. Use the up and down arrow keys to move it around in the playlist. When you have it where you want it, hit the "space" bar again.

Q: How do I delete a playlist? A: Highlight the playlist in the selection tree and hit the "i" key then select "Delete this Playlist" from the popup.

Useful keys to know

Troubleshooting MythMusic

You may run into errors when running MythMusic.

When I run MythMusic and try and look up a CD, I get an error message

The full text of the message will say:

databasebox.o: Couldn't find your CD. It may not be in the freedb database. More likely, however, is that you need to delete  /.cddb and  /.cdserverrc and restart mythmusic. Have a nice day.

If you get this message, you should go to the home directory of whatever user MythMusic is running as ( /home/mythtv )  and type:

rm .cdserverrc

rm -rf .cddb/

These files aren't automatically deleted because of a conscious design decision by the author that programs that automatically delete things are bad.

The files are used to locally cache CD lookups. If you are re-inserting CDs, your machine will not actually have to go out to the Internet to determine what is on them. However, the URL used to access the freedb database has recently changed, so the stale information in the files from previous runs of MythMusic would cause the error above. Once the files have been deleted the stale information will be gone and your local database will be rebuilt as you use CDs.

MythGallery

MythGallery was written by Renchi Raju <renchi@pooh.tam.uiuc.edu>

When you first start MythGallery, you will see a thumbnail view of any folders and pictures in the Gallery Directory you specified in setup. If this is the first time you have accessed this directory, the thumbnails will be generated on the fly. If the Gallery Dir is writable, these thumbnails will be cached thus speeding up future access. On the left is a greyed-out menu of options.

Use the arrow keys to select a folder or picture to open/view with the Select key, or use the Menu key to toggle access the menu on the left. The menu options are as follows:

USAGE:

This should be really simple to use -- just browse around with the
arrow keys and select images/directories to view with the space/enter
keys.  Escape backs out a level, and hitting 'p' while viewing a
single image or while an image icon is highlighted will start a
slideshow playback of all images in that directory.  Image rotation
can be done by pressing the [ and ] keys. To toggle activating the
menu on the left in the thumbnail view use the 'm' key.

Default Keys:

Thumbnail View Keys:

M      - Toggle the menu
P      - Start SlideShow
Home   - Go to the first image in thumbnail view
End    - Go to the last image in thumbnail view
Enter/SpaceBar     - Open a Directory/View an image.
Left,Right,Up,Down - Navigate through images/directories

Image View Keys:

P      - Start/Stop SlideShow
],3    - Rotate image right 90 degrees
[,1    - Rotate image left 90 degrees
7      - Zoom out of image
9      - Zoom into image
2      - Scroll image up
4      - Scroll image left
6      - Scroll image right
8      - Scroll image down
5      - Recenter image
0      - Full-size (un-zoom) image
PageUp - Go to the upper-left corner of the image
PageDn - Go to the lower-right corner of the image
I      - Toggle Showing Information about Image


When IMPORT is pressed in the menu each item in the import directory search path will be examined.  If the item is a directory, its
contents will be recursively copied to a new directory whose name is the current date and time.  Using this method, removable devices can
be put in the search path if they use an automount system (see the Linux documentation for info on how to use automount systems).  If the
item is an executable file, it will be executed with 1 argument consisting of the name of the new subdirectory.  This way, import from
a removable device can be accomplished without the use of an automount system.

Importing Pictures

The import path in the setup dialog is a colon separated list of directories and/or executable files. When the import key is pressed, a new directory (the destination directory) under the current directory will be created and the import path will be searched. If the item in the import path is a directory (the source directory), the contents of that directory will be copied to the destination directory. If you would like the source directory to be that of a removable device, it might be a good idea to use autofs. See the automount howto at www.linuxdoc.org for info on how to get it working.

If the item in the import path is an executable file, MythGallery will attempt to execute it with the destination directory as its sole argument. Be careful when using executable scripts that the script runs unattended (doesn't need user intervention) and returns properly, otherwise it could create the appearance of MythGallery hanging (e.g. running smbclient and prompting for password). Also be sure that scripts have executable permissions set.

Here is an example script that a user may want to run on import:

#!/bin/csh

if ($#argv == 0) then
echo "Usage: $0 dest_dir"
exit
endif

cd $argv[1]

# get stuff over the network
wget http://www.somesite.dom/dir/file1.jpg
wget http://www.somesite.dom/dir/file2.jpg
wget http://www.somesite.dom/dir/file3.jpg

# stuff that requires manual module loading and/or fs mounting
modprobe camera_module
mount /dev/camera /mnt/camera
cp /mnt/camera/* $argv[1]
umount /mnt/camera
rmmod camera_module

# perform some processing
foreach pname (`ls *.jpg`)
jpegtran -flip vertical $pname > $pname.new
mv $pname.new $pname
end


MythWeather

MythWeather allows you to get local weather forcasts with minimal setup. All you need to do is choose your location and it does the rest.  The location selection is not in the application itself but in Utilites /Setup >Setup>Info Center Settings > Weather Settings. You may also force mythweather to re-run the configuration by starting it on the command line as mythweather --configure. These two options are mutually exclusive.

CONFIGURATION

MythWeather configuration is now done in MythWeather...

To enter the configuration section, press 'i'. From here you can select:

1. Units (lets you pick between Imperial and SI)
2. Location (pick the letter your city begins with, then find your city in the list, see below for key binding which should make this quicker).
3. Aggressiveness Value (this is how fast MythWeather will timeout while trying to get weather data).

NOTE: You don't need to do anything other than pick the desired setting. Once highlighted, just hit the left arrow key to go to another setting or when  you are finished with the configuration, hit the 'i' key again to save. If you want to cancel your changes press the ESCAPE key.

NOTE: If you keep getting "!!! 3 Failed Attempts !!!" (everytime you try),  pick a city that is nearby.

NOTE: If you can't find your city but you can find it at MSNBC.com's Weather Site, let me know the city name/accid.

MYTHWEATHER KEYBOARD COMMANDS
-----------------------------
   Left Key             Goes back one page, this also extends the time spent  on the page you are at.
   Right Key            Goes forward one page, see above.
   'p' Key              Pause, wait on the current page until space is hit  again.
   Numeric Keys         You can check other weather by keying in other ZIP codes.
   'm' Key              Switch between celsius and fahrenheit. Can also be used a way to force a data update.
   Enter Key            Resets the location to the database default, then updates the data.

   From within Configuration:

       Key      Action
       ---      ------
        1       Up 25
        2       Up 50
        3       Up 100
        4       Beginning of List
        5       Middle of List
        6       End of List
        7       Down 25
        8       Down 50
        9       Down 100
        i       Exit & Save Configuration
       ESC      Exit Without Saving


OTHER INFORMATION

Current the program cycles through the three pages. Each page is shown for 10 seconds. When the user intervens and changes the page
it waits for 20 seconds. The weather data is updated every 30 minutes or until the user selects a new zip code (or even the current zip code
again).

Monitoring Weather


MythWeather uses MSNBC.com as its source for weather data and weather.com for its radar image.

These are the keyboard commands for MythWeather:

Left Key             Goes back one page, and extends the time spent
on the page you are on.
Right Key Goes forward one page, see above.
Space Pause, wait on the current page until space is hit
again.
Numeric Keys You can check other weather by keying in other ZIP codes.
Enter Key Switch between Celsius and Fahrenheit. Can also
be used a way to force a data update.
"m" Key Resets the location to the database default, then updates the data.
"i" Enter / Save settings
ESC Exit the settings screen without saving / Exit the program

MythWeather also has an "Aggressiveness" setting. This affects how long MythWeather waits for data from the msnbc.com website before timing out. If you are on a slow connection, or have a slow DNS, or MythWeather just doesn't seem to be working and you've already tried everything else, then try increasing the aggressiveness level parameter. This parameter is inverse; a higher number actually means that MythWeather will be less aggressive, and will therefore wait longer before timing out.

MythWeather will print debugging information on the terminal. If you wish to see additional debugging information while MythWeather is running, run mythweather from the command line with as mythweather --debug

You may also force mythweather to re-run the configuration by starting it on the command line as mythweather --configure. These two options are mutually exclusive.


MythPhone

MythPhone was written Paul Volkaerts

User Guide - How To Get Started

This is meant to be a quick guide to getting started with MythPhone. I'm probably the worst person to write this being the author so please send feedback where this is not clear or extra steps are required.

1. Get your webcam going. (Webcams are optional) When properly configured, the webcam will spring into life as soon as you enter MythPhone, in the left-hand pane. The only config option necessary to get it going is the Webcam-Device option, which should be set to something like /dev/video0. If it isn't working, check the console output for errors like "Could not open /dev/video0" or "Webcam format not supported". Also it is worth trying other linux programs to make sure your drivers are loaded properly.

2. Choose what to Register to. Whilst you don't have to register, it is highly recommended. You can register to a public service (I use Pulver) or to Asterisk. If it is to a public service you will need to create an account with them. For Pulver, go to fwd.pulver.com. If you have several Mythfrontends and intend to use Mythphone on them all, you need a separate account for each one. This way they have different phone numbers and you can call between them. If someone has instructions on how to configure Asterisk I will gladly post them here.

3. Register. Once you have created your account with Pulver or similar, go into Mythphone Settings. On the first screen check the "Register" checkbox, enter the URL to register to, and enter the authentication name (number) and password. The final field is just a display name you can set to anything - it is what other people will see when you call them. You now have to exit mythfrontend and restart it. When you restart it the console should say something like "SIP Registered to xxxx". Enter the Mythphone plugin and the status bar at the foot of the page will tell you whether it registered successfully or not. If it does not work, you may have to do STEPS 4 and 5 (NAT) first.

4. MythPhone NAT Settings.Unless you are using Asterisk and are making calls completely within your home, or you have public IP addresses provided by your ISP, you will need to do this. Private addresses usually take the form 10.x.x.x or 192.168.x.x. You have to tell MythPhone what your public IP address is. Some ISPs provide a single IP address that is static. If so, set parameter NAT Traversal Method to "Manual" and enter this IP address in the NAT IP Address field. This is the most efficient method. If the ISP does not give you a static IP address, or you don't know what it is, then set the NAT Traversal Method to "Web Server" and enter "http://checkip.dyndns.org" into the NAT IP Address field. You then need to restart Mythfrontend; and on restart it will go to this web-server and automatically detect your public IP address.

5. Router NAT Settings.You may need to make some settings on your Router to allow the traffic through. I have a Linksys router and these settings appear under "Applications-and-Gaming --- Single-Port-Forwarding". By default the following ports should be set to forward to the device running MythPhone for UDP traffic: 5060 (SIP), 21232 (Audio) and 21234 (Video). All of these can be changed within MythPhone Settings. If you have more than one MythFrontend running MythPhone, make sure these settings differ on each machine and add all of the ports into the router.

6. Loopback Test.Go into MythPhone and (if you have a webcam) hit "L". There are two loopback options; local and NAT. Try the first one first. This will just check the software is working. You should see the local webcam in the left pane and the looped-back video in the right pane. Cancel this by hitting "L" again. Hit "L" once more and this time choose the second loopback option. This bounces the video of your local router checking your NAT settings. This will not work on all types of router, so if it does not work it does not really prove anything :-(

7. Setup your Microphone.The only setting within Myth is the "Microphone Device" setting under the phone settings page. Set if to the OSS device for your webcam, such as /dev/dsp1. I use the microphone built into my webcam using the usb-audio driver and this works well. Note: using the same device as both speaker and microphone is untested.

8. Test Calls.Time to make some test calls. Go into mythphone and just type a test number. On Pulver, 613 gives you an echo test. When done, hit "O" or ESC to clear the call. If you are not using Pulver, you will have to work out some other way to make test calls. If you have several MythFrontends you can call between them.

9. Tune Video Settings.Tuning video is really a matter of setting your transmit resolution and frame rate. For ADSL the best transmit resolution is 176x144, with a frame rate of 4-5 frames/second. You can change these settings mid-call so it is best to start conservative, call someone, then tweak them upwards until it breaks.

10. Add your friends to the Directory.MythPhone has one directory shared by all MythPhones on your system. When a Mythfrontend with MythPhone plugin first starts, it adds itself to the directory database. This makes it easier when you have several MythPhones for the endpoints to call each other. To add other people, hit MENU then follow the instructions. Note the MENU button is context sensitive, depending on where you are in the directory viewer.

11. Setting up advanced options.Some advanced capabilities such as presence take no setting up. The coloured presence icons are automatically shown for everyone in the speed-dials group. Other advanced capabilities like Voicemail or reading of the TV guide require the "VXML Page" settings to be set. Specifically, set the "DEfault VXML URL" to point at where your mythweb is located; e.g. "http://127.0.0.1/mythweb/vxml/index.vxml".


FEATURES / HOW-TO-USE

Mythphone uses a SIP stack to allow voice and/or video calls to be placed to other SIP clients. This includes other MythFrontends on your
system, Mythfrontends over the Internet, or other standard SIP clients.
Mythphone operates best when registered to a Service Provider such as Free World Dialup but this is not mandatory; especially if you only want to call between MythFrontends on your local LAN.

Accounts with FWD are free; just go to http://www.fwd.pulver.com and sign up. Mythphone should work with a variety of similar services but I
have only tried a couple.  Your experience, positive or negative, with other providers is welcome.

Features:

* Contact database for click-dialling
* Voice calls at G.711 20ms
* Video calls at H.263
* Pan and Zoom for video calls, useful if your web-cam captures at a higher resolution than you transmit
* Voicemail
* Send/receive DTMF (RFC 2833)
* VXML scripting with Text-To-Speech engine allows you to call in and hear the TV Guide / set recording etc
* Full screen video
* Call history
* Popup whilst watching TV shows a call is coming in; though currently you have to navigate to mythphone to answer it.
* NAT and Firewall handling (see below)

Keys:
* Up/Down/Left/Right/Select/Exit for most features
* Menu (M) key is context sensitive
* Play (P) during a call toggles video into full screen mode
* Home/End during a call zooms local webcam
* U/D/L/R during a call pans the local webcam
* 0..9, * and # during a call send DTMF
* 0..9, * and # NOT during open a dial dialogue
* Volume Up/Down changes the speaker volume; but whilst in volume-change mode you can use Up/Down to switch to Brightness/Colour/Contrast/frame-rate etc.
* Mute (|) mutes the microphone during a call


If you are registered with fwd.pulver.com (or similar) you call someone by typing their phone number.  If you are not registered with a Service Provider then you need to dial a full URL, of the form name@hostname or name@ip-address.
This is obviously a lot more hassle when using a numeric remote control!
Contacts can be added to the directory either before calling them (using the Menu button) or after placing/receiving a call by going to the call-history entry then pressing menu. Once in the menu; it is a lot easier to call people using the remote.


Status-Bar:
The status bar, when in a call, shows
* other party name
* Audio & Video packet loss as xx%/yy% where xx% is percentage packet loss over the last 2 seconds and yy% packet loss is total for the call. This tells you how good your receive signal is
* Bandwidth. This is a total figure for voice+video. If it read above 256k and you only have a 256k upstream link then the person you are speaking to is going to get a pretty poor signal. Use this to match the transmit rate to your available upstream bandwidth. You can reduce by lowering the video resolution or frame rate.

WEB-CAM SUPPORT

I use a Logitech webcam with the Philips PWC driver built into the kernel (Linux 2.4.23).  For this to work at reasonable rates you need to download
the decompression module pwcx.o and install using "insmod --force pwcx.o".
You get this from www.smcc.demon.nl/webcam.

This webcam stores its settings locally; so you can download "camstream" from the above URL to tune its settings.

You also need to set the Frames Per Second when the module is loaded too, as there is no support in this application for writing to these Phillips-specific parameters. (The FPS attribute in the setup screens tells the software what to expect from the webcam; it does not configure the webcam).

I also use the microphone built into this webcam by enabling the kernel option for USB audio.

Webcam transmit frames/sec and resolution can be changed mid-call or between calls using the volume+/- buttons then cursor keys.

NAT and Firewall

If you have NAT, and your ISP always gives you the same IP address, you can set the NAT to "manual" and enter this IP address. This is the most efficient way to handke NATs.

If you have NAT but your ISP can give you a variable IP addresses, you can select the option "Web Server" and enter a URL such as "checkip.dyndns.org". This is a web site which returns your real address in response to a HTTP GET. It will consult this web server for every call.

Calling between local Myth Frontends that are on the same LAN is supported by a checkbox on the directory entry called "On Local LAN".  Myth Frontends automatically create directory entries for themselves with this checked.

At your network router, you may need to configure it to forward port 5060 to your Myth box that you want to receive calls.

If you have a firewall, you may need to open up port 5060 and whatever ports you choose for audio and video media in the config screens.

MICROSOFT XP MESSENGER COMPATABILITY

Video calls can be made to/from a Microsoft XP Messenger client.  I have tested this against Windows Messenger 4.7.  Note this is "not" the same
as MSN Messenger!!!

Windows Messenger is, in its default mode, not a standards compliant SIP endpoint.  But it does have SIP support that you can enable as follows.

1) Create an account for the Windows client at a Service Provider such as fwd.pulver.com.

2) On Windows Messenger, click Tools->Options; select the "Accounts" tab, and enable the lower checkbox "My contacts include users of a communications service". Then in the Sign-in name enter the username e.g. 123456@fwd.pulver.com.

3) Click ADVANCED and set the server name to you service provider e.g. fwd.pulver.com and select connect using UDP.

4) You may need to re-sign in; and when you do it should prompt you for your password.

Now; simply call the Microsoft client using the phone number you were allocated in step 1; (in this example 123456).

It is not worth trying high resolutions with this; Microsoft always sends at a pretty low resolution and they always display received video in a tiny rectangle regardless of the received resolution!

CAVEATS

* There is no Microphone-volume control. This is because I use the microphone within my USB webcam and Linux has no drivers for volume control on USB microphones. I will implement an attenuation algorithm if required.

* There is no echo cancellation. It really does need some. Anyone know where I can find a public domain algorithm please let me know.

* To answer a call, you have to be in the Mythphone plugin. You do get a popup whilst watching TV if someone calls; but in reality if you want to speak
to someone you sort of need to call them first on a real phone!  Remember this is a first-cut of software so do't be too hard on me :-)

VXML PAGES

VXML is a derivative of XML and HTML; but for voice calls. It allows information in HTML pages to be read out over a phone call. It is used in this project to provide voicemail and access to the TV guide over the phone using a text-to-speech engine.

Within the setup there is an option which allows entry of a VXML web-page. If you only want voicemail; leave this blank, If you want to try some more complex things like allowing setting of recording via the phone, then enter a URL in this field pointing to the mythweb vxml pages. The files in the "vxml" folder in mythweb contain some scripts that do some things but they do need improvement and testing.

The following is a description of these files ...

index.vxml -- This is the main VXML which you should point mythphone to. It plays a welcome message then prompts the caller to leave a voicemail or enter a pin. The pin is hard-coded in this file as "12345".

voicemail.vxml -- If during the execution of the above file the user asks to leave a voicemail it jumps to this file for recording a prompt.

securemenu.vxml -- If during the initial menu the user enters a correct pin it jumps to this file which then prompt with a second-level menu such as
"read the TV guide". Edit this file and make sure it points to your "program_listing.php" file within mythweb.



MythNews

MythNews was written Renchi Raju <renchi@pooh.tam.uiuc.edu>

Go to Settings->NEWS Settings (This will setup the mythnews database for you automatically). On the Settings page there will be news feed sites on the left window. Double clicking or selecting and pressing return/space will add them to the database (These will also be shown
on the right window). If you need to add a custom news feed site then add them using the "custom" button. Also set the frequency (in
minutes) with which the news should be updated (Note: the minimum value is 30 Min to prevent DOSing the news sites). Now exit the setup
page (by pressing ESC).

Go to the NEWS main page and you should see the news feed sites on the left column and corresponding news articles on the right). You can
move between news sites/articles using the UP/DOWN keys and between the news sites column and articles column using the LEFT/RIGHT
keys. Pressing "U" will update all unupdated news. Pressing "F" will force updating news from all sites (WARNING: Don't use this key
frequently unless you want to DOS the news sites and get locked). The news gets updated automatically depending on the frequency which you
set in the setup page.

MythBrower  

MythBrowers was written by Philippe C. Cattin (cattin * vision.ee.ethz.ch)

MythBrowser is a full fledged web-browser (multiple tabs) to display webpages in full-screen mode. Simple page navigation is possible. Starting with version 0.31 it also has full support for mouse driven navigation (right mouse opens and closes the popup menu). Version 0.32 now supports mouse emulation using the number keys on a remote or keyboard and definable keybindings.

MythBrowser also contains a BookmarkManager to manage the website links in a simple mythplugin.

Usage

First you have to enter the MythBrowser Settings to define your favorite webpages and groups. This is also where you can adjust the zoom level of the fonts on the webpages as well as define the command to execute mythbrowser (default: PREFIX+/bin/mythbrowser). The Zoom Level is a percentage between 20 (smaller text) and 300 (larger text).  Check 'Scroll Page' to drag the page within the background when moving the mouse while holding 'Alt' or pressing the middle button.  If 'Scroll Page' is unchecked then the background will be dragged instead of the page.  Set the 'Scroll Speed' to a value a