Next Previous Contents

## 1. First things first.

NOTE: Please note that I, Robert Kulagowski, am NOT the author/programmer of the MythTV application! I can not give you personalized installation support. If you are having issues installing MythTV you should examine the archives, or post your question to the MythTV-users mailing list. If you send me "Does MythTV work with 'X'"? messages - I will simply instruct you to ask your question on the mythtv-users mailing list.

## 1.1 What is MythTV?

MythTV is a GPL licensed suite of programs that allow you to build the mythical home media convergence box on your own using Open Source software and operating systems. MythTV is known to work on Linux and Mac OS X (PowerPC and Intel). It does not run on Windows.

MythTV has a number of capabilities. The television portion allows you to do the following:

- You may pause, fast-forward and rewind live Television.
- You may install multiple video capture cards to record more than one program at a time.
- You can have multiple servers (called "backends"), each with multiple capture cards in them. All scheduling is performed by the Master backend, which arbitrates which recording will be performed by each device. All recording requests are managed by the Master backend, so you can schedule a recording from any client.
- You can have multiple clients (called "frontends" in MythTV parlance), each with a common view of all available programs. Any client can watch any program that was recorded by any of the servers, assuming that they have the hardware capabilities to view the content; a low-powered frontend will not be able to watch HDTV, for example. Clients can be diskless and controlled entirely by a remote control.
- You may use any combination of standard analog capture card, MPEG-2, MJPEG, DVB, HDTV, USB and firewire capture devices. With appropriate hardware, MythTV can control set top boxes, often found in digital cable and satellite TV systems.
- Program Guide Data in North America is downloaded from schedulesdirect.org, a non-profit organization which has licensed data from Tribune Media Services. This service provides almost two weeks of scheduling information. Program Guide Data in other countries is obtained using XMLTV. MythTV uses this information to create a schedule that maximizes the number of programs that can be recorded if you don't have enough tuners.
- MythTV implements a UPNP server, so a UPNP client should automatically see content from your MythTV system.

Other modules in MythTV include:

- MythArchive, a tool to create DVDs
- MythBrowser, a web browser
- MythFlix, a Netflix module
- MythGallery, a picture-viewing application
- MythGame
- MythMusic, a music playing / ripping application which supports MP3 and FLAC
- MythNews, a RSS news grabber
- MythVideo, DVD ripper and a media-viewer for content not created within MythTV
- MythWeather
- MythWeb, which allows you to control your MythTV system using a web browser. With MythWeb, you can schedule and delete recordings, change keybindings and more. With proper security, you may even schedule a program over the Internet and have it immediately acted on by the Master backend.

## 1.2 QuickStart

Custom mini-distributions are available to make it easier to install MythTV. A mini-distribution removes many of the "general purpose" workstation / server software packages that may be installed by default if you use one of the big-name OS packages.

See http://mysettopbox.tv if you'd like to install a custom version of Arch Linux optimized for MythTV.

See http://www.minimyth.org for a small MythTV distribution which can be booted over a network.

See http://wilsonet.com/mythtv/ for instructions tailored to RedHat's Fedora Core distribution.

See http://www.mythbuntu.org/ for a distribution using a customized Ubuntu.

See http://www.mythdora.com/ for a distribution using a customized Fedora Core.

There is a MythTV wiki at http://wiki.mythtv.org.

## 1.3 Upgrading from previous versions

The upgrade from previous versions should be transparent. Any changes to the database structure should be applied automatically.

It is strongly recommended that you back up your database before installing a new version of MythTV.

See Saving or Restoring the database for instructions.

## 1.4 How to obtain this document / PDF versions of this document

This HOWTO document is maintained at the primary MythTV website: http://www.mythtv.org by Robert Kulagowski mailto:rkulagow@rocketmail.com.

This document is available as a single-page HTML document at http://www.mythtv.org/docs/mythtv-HOWTO-singlehtml.html or as a PDF at http://www.mythtv.org/docs/mythtv-HOWTO.pdf.

This HOWTO is for MythTV v0.22

Release notes for this version may be found in the MythTV Wiki at http://www.mythtv.org/wiki/index.php/Release_Notes_-_0.22

## 1.5 Books about MythTV

If you would like to purchase a book specifically about MythTV:

- Hacking MythTV, ISBN 978-0470037874 by Wilson, Tittel, Wright and Korelc
- Practical MythTV: Building a PVR and Media Center PC, ISBN 978-1590597798 by Smith and Still

## 1.6 Document conventions

The following conventions are used throughout this document.
boldface - used for program names.
`typewriter` - used for program paths.
emphasis - Pay attention here.

Pay more attention.

Ignore at your own peril.

Feature that has been added to SVN (subversion, a revision control system) but is not available in the current release.

## 1.7 Mailing lists / getting help

It's recommended that you join the user list at http://www.mythtv.org/mailman/listinfo/mythtv-users. The developer list is at http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev. Please keep the developer list strictly for development-related issues.

Searchable archives for the lists are available at http://www.gossamer-threads.com/lists/mythtv/.

## 1.8 IRC

There are two IRC channels dedicated to MythTV which can be found on irc.freenode.net

- mythtv
- mythtv-users

The `mythtv` channel is where the developers discuss code. It is not a user-support channel. Please don't ask non-development related questions there.

Really. Even if there's no one in the mythtv-users IRC group or everyone seems to be ignoring you.

## 1.9 Bug database

If you feel you need to contribute to a bug database, use the MythTV bug ticketing system at http://svn.mythtv.org/trac.

Good entries will contain the following:

1. Qt version
2. Linux distribution
3. gcc version
4. the last entry in config.log to detail how you compiled
5. MythTV version numbers (e.g.from mythfrontend --version)
6. Hardware
7. How you are able to reproduce the bug

See the instructions on how to debug in Section 22.

The bug database is not a chat room, so restrict your entries to what is relevant. It's also not a repository of feature requests; a feature request without an accompanying patch file to implement that feature will be quickly closed. There is a feature wishlist on the wiki at http://www.mythtv.org/wiki/index.php/Feature_Wishlist. There is no guarantee that anything on the wishlist will ever get code written to implement it.

If a developer closes out your bug, it's likely you didn't provide enough information. Don't re-open a bug without providing additional information.

## 1.10 Contributing to this document

Contributions to the HOWTO are welcome, especially if you find a grammatical or spelling error, or if the wording of something is just plain confusing.

If you'd like to make a new contribution, create a ticket at http://svn.mythtv.org/trac and click "New Ticket". The type should be set to "patch" and the owner set to "rkulagow" to ensure that I see your contribution.

Please send it as either SGML or as plain text. NO HTML. The source used to create the HOWTO is in SGML / Linuxdoc. Do not be afraid of SGML! A quick look at the source of this HOWTO will show that it is not difficult, because there aren't that many tags to worry about, so at least try to submit as SGML. See the Linuxdoc HOWTO at http://www.tldp.org/HOWTO/Howtos-with-LinuxDoc.html for information on the linuxdoc format itself, or look at the `mythtv-HOWTO.sgml` file as an example.

To create the actual patch, run diff -u origfilename newfile > doc.patch and attach your contribution to the trac ticket.

Next Previous Contents