MythTV comes with a range of plug-ins and there are some unofficial ones linked from the wiki, too.
Of all the plug-ins, this is the one we use the most. It enables you to watch video files in just about any format from MythTV. All the standard formats are supported, and ISO images, too.
If you copy a complete DVD as an ISO image with cp /dev/dvd somemovie.iso and put this in MythVideo's directory, you can watch the entire DVD with menus and special features. Alternatively, you can use any of the popular transcoding programs to copy the main title to an AVI or MPEG file.
If you have the storage space, this enables you to have your entire movie collection available at the touch of a remote control button. MythVideo can also connect to IMDb to fetch information about the film and even a cover image to display in the browser screen.
MythVideo supports four parental levels and you can set a password for the higher ones, which is good if you have films that you wouldn't want your children to see. I move videos up to level two when I've watched them, so the default view is unwatched videos, with the rest being one button press away.
MythWeb is technically not a plug-in - you don't use it in MythTV. It's a set of PHP scripts to enable you to interact with your MythTV setup through a web browser. It means that you can view programme listings and set recordings from anywhere in the world.
Say you've just heard there's something good on tonight, but you won't be home in time to watch it. Whip out your smartphone, point the browser at your MythWeb setup and set it to record. You'll need a web server set up and running, and then you unpack the MythWeb archive into your Document Root. There's a .htaccess file included to ensure that Apache, or a compatible web server, acts as required.
There's one important change you should make if you intend to make MythWeb accessible from the internet: you must set up a user and password to restrict access. Your collection of Come Dine With Me episodes may not be private, but search engines run web spiders that follow all links on a site and MythWeb's recordings listing includes delete buttons in the form of links. You don't want Google deleting all your recordings inadvertently.
Do you remember those family gatherings as a child, when Uncle Harry would bring out his slide projector and 'entertain' everyone with his latest holiday snaps?
Even if you aren't old enough to have been subjected to such childhood traumas, you can now do the same yourself. A more positive spin is that it's possible for you to share your photos without everyone huddling around a laptop.
MythGallery is a photo gallery plug-in for MythTV. The first stop after installation is Setup > Media Settings > Images Settings, where you set the directory containing your photos. You can also enable various OpenGL-based transitions for slideshows if you have compatible video hardware.
The interface is fairly standard for photo-viewing software, with the emphasis being on the viewing. There are no real facilities for managing your collection; that should be done on your computer with the likes of DigiKam. The first time you enter a directory, there's a delay while MythGallery creates thumbnails of the photos, but these are cached for fast access next time.
The slideshows look good on a large TV screen, especially with some of the OpenGL Compiz-style transitions. If you have a digital camera, don't keep your photos hidden away on your hard drive - show them off with MythGallery.
If you're the sort of person who likes to build up a library of films, or other programmes, for watching in the future, you won't want your enjoyment to be interrupted by commercial breaks. MythTV has a couple of features that help with this.
The first is automated commercial detection. You can set this to run automatically after each recording in Setup > TV Settings > General or on a per-recording basis. You can also run it manually on individual recordings.
The commercial detection routines can be a bit hit and miss on UK channels, so it's worth experimenting with them to see which technique works best for you (bear in mind that some are quite processor intensive). The mythtv‑setup channel editor enables you to set different detection methods for channels, including no detection for the BBC ones.
Once a recording has commercials flagged, you can use the Z and Q keys to skip to the next or previous commercial marker, or set MythTV to skip automatically over commercial breaks (although you need to really trust the detection system for that).
When it comes to programmes that you've recorded for your library, you can manually remove the adverts to ensure you get it right. Start the programme playing and press E to enter edit mode. Press Z to load the detected commercials as a cut list. Check that the cuts are in the right place and adjust them as necessary by moving to where you want to cut and pressing M to call up the menu.
When editing DVB recordings, it's best to cut on a keyframe, and then use the lossless transcoder (you set the transcoder type in Setup > TV Settings > Recording Profiles > Transcoders). This gives fast lossless transcoding because it doesn't have to re-encode any of the file, just leave bits out. DVB uses MPEG-TS (transport stream), but MythTV transcodes to MPEG-PS (programme stream, the method used for DVDs).
The difference is that TS contains more error correction to deal with transmission glitches, so transcoding like this can significantly reduce file sizes. Even transcoding a BBC recording, where you don't need to remove any commercials, but just cut the top and tail while also removing the error bits, can give a useful file-size reduction.
User Jobs are a sort of DIY plug-in system, enabling you to extend the usefulness of MythTV. You can define up to four User Jobs that can be called at the end of a recording, in the same way as transcoding or advert flagging. These can be called for everything by default, or enabled for individual recording rules. User functions can also be run manually - press M while the recording is highlighted in the Watch Recordings list and select the job you wish to run from the Job Options sub-menu.
You can decide what to run when in Setup > TV Settings > General, but the User Jobs themselves are defined in the General section of mythtv-setup. Each User Job calls a command with some arguments relating to the recording in question.
These are explained in the user jobs section of the wiki, but the most common arguments are %FILE%, %TITLE%, %CHANID%, %STARTTIME% and %ENDTIME%.
You could use these to pass the filename to a script that calls MEncoder with suitable arguments to transcode the file to a format appropriate for watching on another device. The script could also put the transcoded file in a Dropbox directory ready for syncing to the device.
You could also use User Jobs to send notification via email or Twitter when recordings start or end, although the System Events added for version 0.24 may be more suitable for some of these tasks. The main difference is that System Events are always run when a particular event occurs, while User Jobs can be controlled per recording or manually.
We've concentrated on MythTV's capabilities as a personal video recorder (PVR), but it can also be used to watch live TV. Going to the Live TV menu option gives you a display of whatever channel you last used. You can pull up programme information (I), change channels (Up/Down), view the programme guide (S), start recording (R) and pause or resume the programme (P).
I know pedants will point out thatonce paused it's no longer live TV, but nonetheless you can pause and resume - say, to answer the phone - then skip through the next commercial break to catch up. Unfortunately, picture-in-picture has been disabled for 0.24,not to return until at least 0.25.
This doesn't refer to the infrared units that you point at the box; MythTV can also be controlled over a network. This is enabled in the General settings by selecting Enable Network Remote Control. This enables other computers to control your MythTV front-end. Telnet into port 6546 on the computer and type help to see the options.
There are programs that make use of this - for example, MythMote turns your Android phone into a touchscreen remote control for MythTV, provided the phone is connected to your wireless network. I've even set up my phone to send a pause command to MythTV when it rings, to save having to search for the remote before answering the phone.
This is probably one of the more arcane features of MythTV, but one that gets the true geek's mind racing with ideas about what they can do with it.
MythTV's user interface can be customised to a great extent. The screenshots so far have shown the difference between the Mythbuntu and MythCenter themes, but there are plenty more. The official themes may be distributed with the basic MythTV package or your distro may have a separate mythtv-themes package containing all but the standard themes.
Once installed, you can use the Theme Chooser in Setup to browse and select themes. If you have multiple front-ends, you can use a different theme on each, although some of the themes only work well on a larger-sized screen.
In addition to the collection of official themes, there are plenty of unofficial ones available. Look in the Themes section of the wiki for some starting points. Themes are generally supplied as a tarball to be unpacked into the system themes directory, which is usually /usr/share/mythtv/themes, or into .mythtv/themes in your home directory. Each theme should appear in its own directory in there, the directory naming the theme. It should then immediately show up in the Theme Chooser.
When installing a third-party theme, always make sure it's suitable for the version of MythTV you're running. As things move around and features get added, you may find that some functions are missing when using a theme for an older version.
In addition to changing the theme, you can alter the menu layouts. There are several to choose from in Setup > Appearance. In Appearance, look under Menu Theme. These don't change the way MythTV looks, just the layout of the menus. Choose one that makes your frequently used functions quickly reachable.