User Manual:Setting Up
This page is up-to-date as of MythTV version 0.27.6, the current release is 29.0
- 1 Machine Configuration
- 2 CPU
- 3 Memory
- 4 Hard Disk(s)
- 5 Connections
- 6 AC power
- 7 Graphics cards
- 8 Connecting your display
- 9 Audio out
- 10 Video sources
- 11 Storage
- 12 Networking
- 13 Remote controls
- 14 Cable/Satellite Box Control
- 15 Wireless keyboards
- 16 Making Sure Your Hardware is Supported by MythTV
The MythTV backend is a computer that records programs, hosts videos, and serves up the recordings and videos to frontend computers that play them. The backend needs substantial disk space. The backend requires a CPU capable of running Linux and sufficient disk space for the installation, database and recording files. Normally this will be a traditional desktop machine, with PCI or PCI Express slots available for adding tuners if you choose that type of tuner, or USB ports for USB tuners.
This is an advanced setup that few people will need. This is for one of the following purposes:
- You have so many recordings at the same time that you need another backend to handle the load, or you have so many tuners that you need an additional computer to connect more tuners.
- To perform transcoding or commercial flagging if your primary backend is fully loaded. These are CPU intensive tasks so you may need a slave backend if you have a large number of recordings.
If you have more than one backend then one of your backends must be designated as the Master Backend. Others are designated as Slave Backends. The design requires that all backends be powered on whenever any task is running. You cannot save power by having some backends powered off even if they are idle. Once all backends are idle they can all be powered off.
The MythTV frontend is a computer that plays the recorded shows, videos, music, etc. It only needs to be powered on when you are actually watching. It needs an attached monitor or TV screen and sound capabilities, as well as a network connection to the backend. You can control it with the keyboard. Most users will prefer an infra red remote control. This can be a desktop machine or a small system such as ECS Liva and Intel NUC that can be used so that you do not clutter the living room.
A laptop computer can serve as a frontend to a traditional backend, if you find watching on the small screen comfortable. This is a personal preference. This will work best with a wired network. Wireless may be too slow or unreliable for watching recordings.
The simplest and normal starter configuration for MythTV will use a combined frontend and backend in one box. More advanced users will add extra frontends that support additional TV sets in other rooms.
The backend or frontend do not need to be exclusively dedicated to MythTV. However that is a good approach for the backend. If you use it for other purposes there is a chance that you accidentally do something that upsets a recording in progress.
Do not use a virtual machine as a backend or frontend. As a backend it could result in interrupted recordings. A frontend works best with an accelerated video adapter and a virtual machine is unlikely to be able to take advantage of that.
If you already have a machine that you plan to use, or are planning on purchasing one, check the CPU model. To determine the CPU speed, the Passmark benchmarks provide a reasonable comparison. Look up your CPU on the passmark website https://www.cpubenchmark.net/cpu_list.php . To find your cpu model on an existing system use this command
If the existing system has Windows installed, right click on "Computer" and select "Properties".
If you have a Passmark CPU Mark of 500 or more you will be able to record 6 HD channels at once while watching one, if you are recording digital TV or have hardware encoding in your capture card. This is a very low end system.
A Passmark CPU Mark of 3000 or more will be sufficient for a backend to run transcoding or commercial flagging, or for non hardware encoding capture cards. This is still a fairly low end system. A more powerful CPU will be preferred if you do a lot of recording and transcoding.
A Passmark CPU Mark of 500 can play back 1080i HD without video hardware decoding. It is entirely watchable but not perfect. Adding an Nvidia display card that supports VDPAU will make it perfect.
A dedicated machine running both a backend and a frontend, with a single tuner card requires a minimum 512MB of RAM, 1-2GB of RAM is recommended. If you are intending using the machine for something in addition to MythTV then you should increase the RAM accordingly.
Broadcast quality video takes up a lot of hard disk space. The exact amount depends on the encoding, but typical values for MythTV are 500 MB - 1 GB/hour for standard definition video and 3 - 8 GB/hour for high definition video.
Writing video to disk is sensitive to timing issues and you should consider using a dedicated physical disk for storing recordings to avoid problems.
Make sure that you use one or more dedicated partitions for video storage. Do not store recordings on your Linux root partition. For the root partition allow 20 - 30 GB. The default file system for Linux is typically ext4. This works well and is reliable. Many user prefer to use other file systems. If you use ext3 you must enable the "Slow delete" feature in MythTV Backend configuration.
MythTV creates large files, many in excess of 4GB. You must use a 64 or 128 bit filesystem. These will allow you to create large files. Filesystems known to have problems with large files are FAT (all versions), and ReiserFS (versions 3 and 4).
Because MythTV creates very large files, a filesystem that does well at deleting them is important. Numerous benchmarks show that XFS and JFS do very well at this task. You are strongly encouraged to consider one of these for your MythTV filesystem. JFS is the absolute best at deletion, so you may want to try it if XFS gives you problems. There are other ramifications to using XFS and JFS - neither offer the opportunity to shrink a filesystem; they may only be expanded.
NOTE: You must not use ReiserFS v3 for your recordings. You will get corrupted recordings if you do.
Because of the size of the MythTV files, it may be useful to plan for future expansion right from the beginning. You may need to add hard drives in the future.
Ext4 is Ext3 with extents and many other features, making it more suitable for large file systems. It has addressed many of the performance issues with ext2 and ext3 and can be used for MythTV video file storage.
JFS (Journaling File System) is a journaling filesystem originally developed by IBM for AIX which was later released as open source. While not as common as Ext3 or ReiserFS, it is distributed with RedHat 9 (RH9), Fedora Core and Mandriva as well as other distros. According to tests, JFS is the file deletion speed king, deleting virtually any file in under one second, even files as large as 10 gigabytes.
XFS is a journaling file system originally developed by SGI for Irix, and later released as open source. While not a part of the default RedHat Linux 9 or Fedora Core installation (although it is a part of Mandriva and Fedora Core 2+), it can be easily installed via ATrpms. XFS provides deletion speeds for large files only slightly slower than JFS. XFS file systems provide higher I/O rates than JFS, albeit at a higher CPU loading. This may cause issues if you do not have the spare CPU capacity to handle XFS, potentially leading to dropped frames.
Frontend only systems require minimal hard disk space, as much as is needed for the operating system and the application. Allow 20-30 GB.
Here we discuss connecting your box to the outside world.
Some things are explained in-depth for the benefit of less-technical users.
- AC power
- Video out
- Audio out
- Video source(s)
- Remote Control
Let's talk about each of these connections and what you do with it.
For information on High Definition systems go to Configuring HDTV.
It doesn't hurt to check whether your AC "IEC connector" is set to 120 or 240 VAC already.
Since your Backend needs to be running most of the time to record scheduled programs at inconvenient hours, it's well to use a UPS — an Uninterruptible Power Supply, or 'battery backup'. Surge suppression is a good idea, not only for the power, but for the TV cable, too, if you're using cable TV to feed your box.
You do not need to leave a computer running 24-hours a day. MythTV's has built-in capabilities to powerdown and automatically wake up in time for the next schedule recording -- documented here: ACPI_Wakeup.
At the least, a good surge protector is cheap insurance.
To connect our MythBox to a display we need a graphics card.
For the past several years, nVidia cards have been the recommended video hardware for use under Linux. While their closed source binary drivers must be used for proper accelerated support, they are generally easy to install and reliable. Preferred hardware is anything 8000-series or newer. Please check the VDPAU page for supported cards. If you get one that is not supported by VDPAU that will adversely affect your video performance.
It's strongly recommended that you use the proprietary NVIDIA drivers; they have excellent support for hardware accelerated video decoding and ship with a good configuration utility.
ATI has historically had a poor track record with respect to Linux, however they have significantly improved over the past several generations, and are fine for MythTV's uses. Preferred hardware is anything 3000-series or newer.
Intel provides onboard video chipsets with their motherboards, and more recently on their processors. Open source drivers are available, and performance is adequate for MythTV.
Via provides onboard video chips for their low power Mini-ITX systems. These systems are not recommended for use with MythTV, and will be incapable of playback of HD content.
This output method will be the preferred output method in future versions of MythTV. With this method, multiple video and UI elements can be converted, scaled, and composited simultaneously on screen using the 3D hardware in your video card.
Xv is an extension to X (the X window system) that provides offloading of scaling and colorspace conversion. Support for this is the recommended minimum for use with MythTV. This method requires that any UI elements must be composited into the video in software, so is not recommended when OpenGL is available.
VDPAU (Video Decode and Presentation API for UNIX)
VDPAU is nVidia's proprietary decode extension, providing full offload of MPEG-1, MPEG-2, H.264, and VC-1. Some models additionally support MPEG-4 ASP (divx, xvid).
VAAPI (Video Acceleration API)
VAAPI is the decode extension used for Intel and AMD hardware, providing similar capabilities as VDPAU. This is recommended if your adapter supports it.
Connecting your display
You can connect your Frontend to your display, whatever it may be (e.g. monitor, TV, etc.) by several means:
Composite TV out
If your box has NTSC/PAL video out, you'll find an RCA video connector (usually yellow), or a 4-pin Mini-DIN S-Video connector on the back somewhere, which you can connect your monitor to, with the appropriate cable.
This only provides Standard Definition TV and is no longer recommended.
This can be sent either to a CRT monitor, an LCD or plasma flat-panel, or a projector. Most large monitors and projectors will accept the higher scan-rate signal of a composite output.
For VGA, use an HD-15 cable up to the VGA connector which you will find on the back panel.
This will require a VGA-to-component adapter and a video card that supports component out. Component video is the best-quality analog signal.
You can also use the Component-Out feature on some nVidia Cards. (I use the 6600GT and it works great) Read my how-to Here
DVI digital connection
For the best quality, especially to modern digital displays such as big-screen LCD, plasma or micro projection solutions, this is preferred. Note that DVI has both digital and analog or combined versions on the same connector. The analog version is compatible with VGA (using an adapter). The digital section is compatible with the latest HDMI connector found on some Hi-Def displays.
Be aware that some of the latest digital displays have hardware content protection built in. This is not relevant to MythTV, which cannot use HDCP.
This is the modern DVI, technically backwards compatible. It uses a smaller more manageable connector. You can get an HDMI to DVI adaptor if you need to connect your PC graphics card DVI connector to the latest HDMI displays. The latest HDMI connections will also be able to carry digital multi-channel audio down the same cable.
Some televisions and many video cards provide S-Video connectors, although it is likely less popular than component or composite connections. Many video card manufacturers are known to use plugs of similar design to output various signal types in (for example) 7-pin and 9-pin variants as described below. If the plug has only 4 pins, it is safe to assume it is a standard S-Video connection and signal.
This only provides Standard Definition TV and is no longer recommended.
7-Pin Squid Connector
These connectors are typically used to provide multiple signal types from a single source. A video card with this output will generally come with a squid adapter to fit it with, for example, s-video, component, or composite video output plugs, or any combination of them.
9-Pin Squid Connector
This connector, like the 7-pin, requires a squid adapter to access the resulting video and possibly audio.
It is important to note that the above connector types are by no means the only connections that you might find on the rear of your video adapter. I have, for example, a miniature B-type USB connector on my MythTV frontend video card which is intended for the included squid adapter which outputs Composite, R-audio, L-audio, and S-Video. This is an obscure combination (particularly having audio output on a video output plug) which in my case makes sense, since the plug on the rear of the PC is simply a header connection to the motherboard which has integrated video and audio.
Suffice it to say that provided you connect the appropriate adapter to your output no (or few) provisions should be necessary during your MythTV setup.
You may find it helpful to read the section on Sound card.
You can connect your Frontend audio out to your amplifier, TV, or powered speakers.
If your video card has HDMI output (anything purchased recently will have it) and you are connecting to a TV using HDMI, then the sound can simply be played through the TV speakers, and no sound card is needed in your frontend machine.
This is almost always the standard 3.5mm stereo audio jack that most sound cards have, and indeed, the sound card (or onboard audio) of your box is where the audio comes out.
Most modern configurations support multi-channel (surround) sound making use of the surround sound decoder on your sound card. Typically this will be 5.1 or 7.1 channels of surround sound, the first number denoting the number of speakers/channels and ".1" denoting the sub-woofer channel.
This is the best option for absolute sound quality. This will be via an SPDIF optical or coaxial connector from your sound card, or HDMI from your video card, direct to your home theatre surround sound amplifier or receiver. Decoding of the surround sound is external to your MythBox.
Most modern sound cards have either an Optical or Coaxial Digital out connector. If your sound card allows it, you can set the system to output bit perfect audio to your surround amplifier. This means that ripped CDs output using PCM at 44.1Khz, TV audio is output PCM at 48Khz, and Dolby Digital and DTS surround audio is output correctly to your home theater system. Digital TV normally includes Dolby Digital audio which is supported.
See the pages on setting up Digital Sound
For details on types of tuners and other video sources, refer to Setup Capture Cards, which describes the detailed setup for each specific type of capture device and has links to pages where you can determine which devices are supported.
This is done via the threaded "F-connector" or coaxial connector on your tuner card(s), into which you connect the cable from your cable TV feed or outside antenna. If you have more than one tuner card, you'll need a splitter and some jumpers to hook everything up. (Note: in Europe (and maybe other places), you may not have an "F-connector," and it may or may not be threaded.)
If you're recording HDTV or satellite TV signals, there may be special considerations about cabling and tuner cards.
DVB, ATSC, ISDB and QAM-256 Tuner Cards
DVB, ATSC and ISDB are digital broadcast standards used around the world.
DVB is the most widely used, with most of Europe, Australasia and Africa choosing this format. It comes in DVB-C, DVB-T/T2 and DVB-S/S2 varieties for Cable, Terrestrial and Satellite. DVB-S is used in North America for Satellite broadcasts.
ATSC is used in North America for Terrestrial television broadcasts.
ISDB is used in Japan and parts of South America.
QAM256 is a US digital cable standard. It shouldn't be confused with 256-QAM which is a technical term which applies to many different digital broadcast standards.
Hardware MPEG-2 Encoding Cards
This type of card was designed to record TV before most countries in the world switched to digital broadcasting. Their relevance in the modern world is declining rapidly.
While inexpensive video-capture cards simply capture raw frames, leaving encoding to software, some higher-end cards incorporate hardware-based encoding. Using an MPEG-2 encoder card supported by the IvTV project http://ivtvdriver.org such as the Hauppauge PVR-150/250/350/500, Avermedia M179, Hauppauge "Freestyle" or Yuan M600 cards will allow you to use dedicated hardware encoders rather than your CPU. Using the on-board MPEG-2 encoder greatly reduces the CPU requirements for encoding.
Analogue Frame Grabbers
This type of card is antiquated and it's use is strongly discouraged.
There is no on-board encoding of the analog video; hardware known as a Digital-Analog Converter (DAC) takes the video and presents it to the computer in an essentially raw digital form.
For a list of video capture cards known to work with Linux, please see /usr/src/linux/Documentation/video4linux/bttv for a partial listing; even if your specific card is not listed, it may be that the vendor is actually using a standard reference design and placing their own name on it. See the video4linux mailing list (http://listman.redhat.com/mailman/listinfo/video4linux-list) for more information and for specific hardware questions.
The most common inexpensive cards available use the Bt848, Bt878 or CX2388x series of video capture chips; examples are the "Hauppauge WinTV Go" card and the "AverTV Desktop PVR" card, both of which use the bttv kernel module.
After you have installed a suitable capture device, you can check that the kernel sees it with lspci. Look for an entry labeled "Multimedia video controller". To get more detailed information about the card, use lspci -v or lspci -vv. Ensure that your system is loading the bttv modules by typing:
# lsmod |grep bttv
You want to see the bttv module listed.
Specific setups for these devices is in these sections:
- DVB-T/S/C, ATSC or ISDB-T tuner card
- Analog to MPEG-2 encoder card (PVR-150/250/350, etc)
- Other Analog Capture Card Types.
Some companies sell dedicated tuning devices with an RF input. These devices take tuning commands over the network, and convert the digital stream from their antenna input into network packets.
Specific setups for these devices is in these sections:
You may use the Firewire output of the Motorola DCT6200 or the SA3250. If your provider uses 5C encryption on a particular channel, you won't be able to get any content. Many users have resorted to using Firewire to change channels on their set-top-box and capture the High Def video using the Component output fed into a Hauppauge HD PVR.
USB Capture Devices
The Plextor ConvertX PVR devices are supported through Linux drivers available from http://go7007.imploder.org/ MythTV uses the Plextor to capture hardware encoded MPEG-4, so the host CPU requirements are low.
Hauppauge WinTV-PVR-USB2 and variants are supported by the Linux Kernel as of 2.6.18. Additional information is available at http://www.isely.net/pvrusb2/
IP Recorder (RTSP, RTS, UDP)
MPEG-2, MPEG-4 and H.264 stream recording is supported using the IPTV recorder in MythTV. This recorder expects the channels to be supplied as a m3u playlist. If your DSL/Fiber provider supplies television service, but does not provide a m3u playlist for the channels, you can construct one for your own use. You do not need to download it from the same server as the streams themselves, and it can also be read from a file if this is more convenient.
NOTE: Some DSL providers only allow you to use one recorder at a time, so you may need to limit yourself to one recorder in MythTV and turn off any set top box the cable provider sold or rented to you with your service. This limitation is independent of the bandwidth you have purchased.
Other capture card inputs
Most tuner or capture cards will allow you to capture not only RF signals from your antenna or cable TV provider, but also locally generated video signals, be they from a VCR, a DVD player (though there are better ways to accomplish this), or a cable box or satellite receiver, for channels you can't get a tuner card to tune directly. More later on this, too.
The input jacks for this, both video and audio, will usually (always?) be on the tuner card itself, in the card cage, as opposed to the video, VGA, and audio-out connectors, which are usually on the motherboard these days (in a section called the "ATX backplane").
Hauppuage makes a device called the HD PVR, which accepts component HDTV signals and TOSLINK / SPDIF audio and performs a real-time encode into H.264. See http://www.hauppauge.com/site/products/data_hdpvr.html for additional information.
A number of vendors make single channel IPTV encoders that will take an HDMI input and convert this to a video stream. These can also be used as a a capture device. See IPTV Encoders as a Capture Device for more information.
You can find a list of capture cards that work with MythTV in the Setup Capture Cards section.
Tuners and capture cards are connected to your Backend via USB, Network cable, or physically installed in a desktop computer as PCI or PCI Express cards. Each has its advantages and disadvantages. USB connections are liable to get accidentally pulled out. PCI or PCI Express cards required a suitable available slot in your backend. Network attachment will required that you have a switch of appropriate speed. For network attachment it is recommended to use Gigabit ethernet. Network attached devices have the advantage of not needing drivers to be installed.
As this is a significant topic you might find it helpful to read the section on file storage.
In the event that you want to add fault tolerance and redundancy to your storage then you should read the section on RAID.
If you have a standalone MythBox, then you might not ever connect to a network, though this is highly unlikely.
Myth supports multiple front-end machines (for controlling TVs in different rooms) and multiple back-end machines (for splitting up storage, transcode/commercial marking and tuner support), and you connect all of these through a network, preferably using Gigabit Ethernet.
The biggest reason you will connect to the network is because (most of the time) MythTV gets its program guide data over the Internet. Program guide data is the information in the program guide grids, that allows MythTV most of its PVR functions, like scheduled recordings, etc.
If you are making your MythBox accessible from the outside world, you should almost certainly put it behind a router, and possibly investigate the firewall features of your Linux operating system.
If that's too complicated for you to understand at the moment, then ask a geek for help, or don't open outside-world connections to your box yet.
Most of the time, you'll network your MythBox via Ethernet. The standard jack and plug for this is known as RJ-45, and it looks slightly wider than a telephone jack and has 8 pins (telephone/RJ-15 has 2 or 4 pins). If you have broadband, you most likely use an Ethernet cable to connect to the Internet.
If don't have Ethernet strung around your house, you could use Wi-Fi, or 802.11b/g. 802.11b provides speeds up to 11 Mbits/s and 802.11g provides up to 54 Mbits/sec. Wi-Fi is slightly more difficult to set up than regular Ethernet, just because Linux drivers are usually less mature, so you must check and ensure that the 802.11b/g card that you buy supports Linux before buying it. Oh, and you'll need a wireless router too. Those are cheap these days. Once you have that up, you don't need Ethernet run to the box(es) anymore, which is great!
If you're planning multiple frontend/backend boxes, 802.11b will probably be too slow for acceptable playback. The faster 802.11g should work much better, but may not be enough for HD playback without stuttering.
Powerline network adaptors are available these days and provide sufficient performance to run a remote backend with HD. Although they advertise speeds of around 500 Mbps they actually deliver only around 50 Mbps, but that is sufficient for HD playback and is more reliable than wireless.
You need some way of controlling your frontend. The frontend will typically be a TV set and the most familiar setup would be an Infra Red Remote control. On the other hand your frontend may be a laptop computer, in which case the keyboard would be the natural way to control it.
Below are described the types of remote control you can use. There is a bunch of articles on individual remote controls wiki in Category:Remote Controls. Be aware that some of these articles may be out of date or no longer relevant.
You can use the keyboard to control your frontend. All functions can be mapped to keyboard keys and there is a default mapping already installed with MythTV that gives everything you need. In a living room TV setup, you can use a wireless keyboard on a coffee table. This may have a low WAF.
This has the advantage of low cost and no configuration requirement.
There are many Media Center Remotes available for purchase that when plugged into a USB port identify themselves as a keyboard. These may operate via Infra-red or via wireless RF. They generate keystrokes in response to each button press. Since some of the keystrokes they generate will not correspond to the correct MythTV keyboard presses for the function, you will need to use MythTV to customize the keyboard layout. Some keys may generate keystrokes that are undetectable by MythTV and those may be able to be reprogrammed using gsettings and xmodmap.
FLIRC is a device that emulates a keyboard and can be programmed to match any IR remote you may have lying around. This will be easy to install and will need to be customized using a utility that comes with it.
IR control via evdev
Some Infra Red remotes are supported natively by Linux and are treated as keyboards. The keyboard mapping can be changed using ir-keytable. I do not know any way of telling before you purchase a device whether it is supported this way. Once you plug it into a USB port, the ir-keytable command will tell you if it is supported or pressing some number keys while a command line is open will show if they are being received. There is more information at HID Remotes. If a remote is detected this way, you will need to reprogram keys using ir-keytable, the MythTV keyboard setup or both. Directions are in the Post installations tasks in User Manual:IR control via evdev.
Linux Infrared Control (LIRC)
LIRC provides a software interface between an Infrared Receiver and MythTV. It is fairly complex to set up and get working. LIRC supports both IR blasters and IR receivers, so if you have need of an IR blaster, you may be able to use the receiver side of it as well, with LIRC. If your remote is not supported by either of the previously mentioned methods you may have to use LIRC.
You can enable network remote control in your front end and use a phone or tablet to control MythTV. There are apps for smart phones and tablets that you can install. Mythmote is a good one, available on google play for Android. There is little setup to be done, the correct key codes are already used in the application. Mythmote does allow you to change key codes if you want to.
Cable/Satellite Box Control
For infrared (ir) output to your cable or satellite box use an IR Blaster.
Some cable and satellite boxes have serial ports that can be used to control them. See Motorola DCT-25xx and Controlling DirecTV Set Top Box (STB) via USB or Serial
If you cable or satellite box has firewire then you can use firewire to change channels and even capture video (if it is enabled). See FireWire.
Once your Myth box has been setup you won't need to use your keyboard that much. Many users will often just SSH into their machine or use a remote desktop such as VNC to get access. Of course it's also nice to have a keyboard directly connected, in which case a wireless keyboard is preferred. Have a look at the section on Wireless Keyboards to see which ones work.
Making Sure Your Hardware is Supported by MythTV
Firstly, make sure your hardware is supported by Myth. You can find more information in this wiki at:
- Tuner Cards
- Hardware Requirements
- External Links
- Main Page
- Other places on this wiki or using Google.
If you are having trouble, try:
- Checking the Frequently Asked Questions page to see if your issue is there.
- Searching the Gossamer-Threads mailing list archives. Gives access to the development, git commit and users mailing lists with a forum-like layout.
- Subscribing to the Mailing List. Make sure you read Mailing List etiquette before posting.
- Joining the MythTV Forum.
- A HOWTO for different operating systems.
When you've found a solution that worked it would be nice if you added it somewhere on this site to contribute back to the community. Even just linking to the mailing list archives with a little description would help; search engines will index it and will bring up the correct results earlier in their listings.