Difference between revisions of "User Manual:Setting Up"

From MythTV Official Wiki
Jump to: navigation, search
m (nVidia)
(DVI digital connection: remove badly worded part about HDCP. It is not bypassed, the signal simply isn't protected by MythTV in the first place.)
(10 intermediate revisions by 2 users not shown)
Line 3: Line 3:
  
 
==Machine Configuration==
 
==Machine Configuration==
 +
===Backend===
 
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 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.
 
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.
 +
===Slave Backend===
 +
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.
  
The MythTV frontend 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.
+
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.
 +
===Frontend===
 +
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.
 
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.
 +
===General Considerations===
 
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 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.
 
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 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.
 
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.
Line 31: Line 39:
 
===Frontend===
 
===Frontend===
 
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 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.
 +
 +
== Memory ==
 +
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.
 +
 +
== Hard Disk(s) ==
 +
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.
 +
 +
=== Filesystems ===
 +
 +
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====
 +
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====
 +
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====
 +
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 systems===
 +
Frontend only systems require minimal hard disk space, as much as is needed for the operating system and the application. Allow 20-30 GB.
  
 
==Connections==
 
==Connections==
Line 66: Line 106:
 
====nVidia====
 
====nVidia====
 
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.
 
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.
 +
 
{{Tip box|There are many manufacturers of generic NVidia GeForce 210 display adaptors. Almost any time you can find one on sale at Newegg or Micro center for $20 after rebate. I have four of these and they play 1080 HD content perfectly even on the slowest frontend.}}
 
{{Tip box|There are many manufacturers of generic NVidia GeForce 210 display adaptors. Almost any time you can find one on sale at Newegg or Micro center for $20 after rebate. I have four of these and they play 1080 HD content perfectly even on the slowest frontend.}}
  
Line 100: Line 143:
  
 
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.
 
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.
  
 
===VGA output===
 
===VGA output===
Line 120: Line 165:
 
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.
 
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. All monitors and TVs will allow HDCP to be bypassed by MythTV.
+
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.
  
 
===HDMI===
 
===HDMI===
Line 131: Line 176:
  
 
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.
 
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===
 
===7-Pin Squid Connector===
Line 153: Line 200:
  
 
You can connect your Frontend audio out to your amplifier, TV, or powered speakers.
 
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.
  
 
===Analog===
 
===Analog===
Line 172: Line 221:
  
 
==Video sources==
 
==Video sources==
 +
 +
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.
  
 
===RF tuner===
 
===RF tuner===
Line 178: Line 229:
  
 
If you're recording HDTV or satellite TV signals, there may be special considerations about cabling and tuner cards.
 
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:
 +
 +
<blockquote>
 +
<nowiki># lsmod |grep bttv</nowiki>
 +
</blockquote>
 +
 +
You want to see the bttv module listed.
 +
 +
Specific setups for these devices is in these sections:
 +
*[[Setup Capture Cards#Card type: DVB-T/S/C, ATSC or ISDB-T tuner card|DVB-T/S/C, ATSC or ISDB-T tuner card]]
 +
*[[Setup Capture Cards#Card type: Analog to MPEG-2 encoder card (PVR-150/250/350, etc)|Analog to MPEG-2 encoder card (PVR-150/250/350, etc)]]
 +
*[[Setup Capture Cards#Other Analog Capture Card Types|Other Analog Capture Card Types]].
  
 
===Network tuner===
 
===Network tuner===
  
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.  One such device known to work with MythTV is the [[Silicondust_HDHomeRun|HDHomeRun]].
+
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:
 +
*[[Setup Capture Cards#Card type: HDHomeRun networked tuner|HDHomeRun networked tuner]]
 +
*[[Setup Capture Cards#Card type: Ceton cablecard tuner|Ceton cablecard tuner]]
 +
 
 +
=== Firewire ===
 +
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===
 
===Other capture card inputs===
Line 189: Line 298:
 
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").
 
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").
  
You can find a list of capture cards that work with MythTV in the [[Video capture card|video capture card]] section.
+
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.
  
 
===Physical Installation===
 
===Physical Installation===
Line 228: Line 341:
  
 
==Remote controls==
 
==Remote controls==
 +
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.
  
There are three options for getting remote controls working under Linux
+
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.
  
===Linux Infrared Control (LIRC)===
+
===Keyboard===
 +
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 [[wikipedia:Wife acceptance factor|WAF]].
  
[[LIRC]] provides the software interface between an Infrared Receiver and MythTV.  Most modern distributions will have this as standard. It provides great flexibility in mapping infrared remote control keys to MythTV functions. The downside of using [[LIRC]] is that you need to get an Infrared Receiver. The easiest way to do this is to buy the [[MCE Remote|Microsoft MCE remote]] and receiver bundle which is quite low cost.  Several popular tuner cards, for example the Hauppauge PVR-150, also come with a built-in IR receiver.
+
This has the advantage of low cost and no configuration requirement.
  
See the '''[[:Category:Remote Controls|Remote Controls]]''' category for information on different remote models.
+
===Keyboard Emulation===
 +
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.
  
=== Infrared Keyboard emulation ===
+
[[Flirc|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.
  
This is probably the easiest way of getting a remote control to work with MythTV. You simply teach a learning remote such as any of the popular [[JP1|One 4 All]] or Logitech remotes the keys from your keyboard and hey presto your remote now does exactly what your keyboard does.  
+
===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]].
  
Many IR Remotes that are available today will emulate a keyboard. Linux sees them as a keyboard and no special software needs to be installed to support them.
+
===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.
  
 
=== Wi-Fi Remote ===
 
=== Wi-Fi Remote ===
 
+
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.
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.  
 
 
 
===RF Remotes===
 
Logitech also provides a RF remote called the "UltraX Media Remote". This is a remote that behaves somewhat similar to a keyboard. To get also the special keys working see [[Logitech UltraX Media Remote]]
 
  
 
== Cable/Satellite Box Control ==
 
== Cable/Satellite Box Control ==

Revision as of 23:31, 28 June 2016

Software-update-available.png This page is up-to-date as of MythTV version 0.27.6, the current release is 34.0

Machine Configuration

Backend

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.

Slave Backend

This is an advanced setup that few people will need. This is for one of the following purposes:

  1. 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.
  2. 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.

Frontend

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.

General Considerations

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.

CPU

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

cat /proc/cpuinfo

If the existing system has Windows installed, right click on "Computer" and select "Properties".

Backend

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.

Frontend

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.

Memory

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.

Hard Disk(s)

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.

Filesystems

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

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

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

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 systems

Frontend only systems require minimal hard disk space, as much as is needed for the operating system and the application. Allow 20-30 GB.

Connections

Here we discuss connecting your box to the outside world.

Some things are explained in-depth for the benefit of less-technical users.

Connections:

  • AC power
  • Video out
  • Audio out
  • Video source(s)
  • Networking
  • 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.

AC power

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.

Graphics cards

To connect our MythBox to a display we need a graphics card.

Manufacturers

nVidia

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.


Information.png Tip: There are many manufacturers of generic NVidia GeForce 210 display adaptors. Almost any time you can find one on sale at Newegg or Micro center for $20 after rebate. I have four of these and they play 1080 HD content perfectly even on the slowest frontend.

ATI

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

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

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.

Output Methods

OpenGL

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 (XVideo)

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

Composite.png

This provides an NTSC (or PAL) standard video output signal, which can be sent to a normal TV set using a normal RCA cable.

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.

VGA output

Vga.png

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.

Component video

Component.png

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

Dvi.png

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.

HDMI

Hdmi.png

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.

S-Video

Svideo.png

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

7pin.png

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

9pin.png

This connector, like the 7-pin, requires a squid adapter to access the resulting video and possibly audio.

Other Connectors

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.

Audio out

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.

Analog

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.

Digital

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

Configuring Digital Sound

Configuring Digital Sound with AC3 and SPDIF

Video sources

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.

RF tuner

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:

Network tuner

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:

Firewire

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.

Physical Installation

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.

Storage

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.

Networking

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.

In addition, extension modules like MythWeb, MythWeather, and MythBrowser require Internet access. (Actually, MythWeb doesn't need the Internet, just a network connection.)

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.

Ethernet

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.

Wireless

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

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.

Remote controls

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.

Keyboard

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.

Keyboard Emulation

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.

Wi-Fi Remote

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

IR

For infrared (ir) output to your cable or satellite box use an IR Blaster.

Serial

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

Firewire

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.

Wireless keyboards

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:

If you are having trouble, try:

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.