Difference between revisions of "Choosing Frontend Hardware"

From MythTV Official Wiki
Jump to: navigation, search
(Not Recommended)
m (System Considerations: link to ARM Systems)
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The goal of this page is to outline the options available for dedicated frontend hardware based on the realities of television and retail video content at the beginning of 2011. The separated nature of the MythTV frontend/backend system allows for some interesting design choices, allowing for small, compact playback devices.
+
The goal of this page is to outline the options available for dedicated frontend hardware based on the realities of television and retail video content at the beginning of 2011. The separated nature of the MythTV frontend/backend system allows for some interesting design choices, allowing for small, compact playback devices.
  
 
== System Considerations ==
 
== System Considerations ==
MythTV has been designed to operate on x86 based computers. While it will compile and run on other architectures such as PPC and ARM, they will neither be as heavily tested, nor will the decoding libraries be as heavily optimized. For new purchases, modern mainstream processors such as the Athlon II, Phenom, Core 2, and Core i3/5 lines are recommended.
+
MythTV has been designed to operate on x86 based computers. While it will compile and run on other architectures such as PPC and [[ARM Systems|ARM]], they will neither be as heavily tested, nor will the decoding libraries be as heavily optimized. For new purchases, modern mainstream processors such as the Athlon II, Phenom, Core 2, and Core i3/5 lines are recommended.
  
 
=== Memory Requirements ===
 
=== Memory Requirements ===
MythTV is intended to run dedicated on standard PC hardware, and has never been designed to be particularly miserly with memory. For standard definiton output and a lightweight theme, consider 256MB of memory to be an absolute minimum. Beyond that, the system is going to start swapping heavily, and usability will plummet. For high definition frontends, 512MB is a minimum, and 1GB if using a theme that uses artwork heavily.
+
MythTV is intended to run dedicated on standard PC hardware, and has never been designed to be particularly miserly with memory. For standard definiton output and a lightweight theme, consider 256MB of memory to be an absolute minimum. Beyond that, the system is going to start swapping heavily, and usability will plummet. For high definition frontends, 512MB is a minimum, and 1GB if using a theme that uses artwork heavily.
  
 
=== Video Requirements ===
 
=== Video Requirements ===
nVidia has long been providing reliable hardware and drivers for using on Linux. The recommended video hardware for use with MythTV is anything nVidia 8-series or better. If you need analog television output, only the 8 and 9 series support such, while the GT or later series do not.  ATI/AMD has improved significantly over the past years, but they have a very poor track record for stable Linux support, and should not be considered. The Intel graphics available on the Core i3 and i5 processors is generally sufficient, while older Intel graphics will not have sufficient power for the OpenGL video renderer. However, note that they do not have the same amount of flexibility in dealing with odd resolutions and misbehaving TVs as can be found in the nVidia graphics.
+
nVidia has long been providing reliable hardware and drivers for using on Linux. The recommended video hardware for use with MythTV is anything nVidia 8-series or better. If you need analog television output, only the 8 and 9 series support such, while the GT or later series do not.  ATI/AMD has improved significantly over the past years, but they have a very poor track record for stable Linux support, and should not be considered. The Intel graphics available on the Core i3 and i5 processors is generally sufficient, while older Intel graphics will not have sufficient power for the OpenGL video renderer. However, note that they do not have the same amount of flexibility in dealing with odd resolutions and misbehaving TVs as can be found in the nVidia graphics.
  
 
=== Network Requirements ===
 
=== Network Requirements ===
The recommended minimum network for use with MythTV is wired 10/100 ethernet. Gigabit ethernet is not needed, but can provide better responsiveness while seeking during video playback. Powerline networking generally has sufficient bandwidth, and is decently reliable, but suffers from the fact that it is a broadcast architecture, and multiple frontends will quickly saturate the system. Further, there are problems with many homes using split phase wiring that will effectively cut the network in half.
+
The recommended minimum network for use with MythTV is wired 100 Mbps Ethernet. Gigabit Ethernet is not needed, but can provide better responsiveness while seeking during video playback. Powerline networking generally has sufficient bandwidth, and is decently reliable, but suffers from the fact that it is a broadcast architecture, and multiple frontends will quickly saturate the system. Further, there are problems with many homes using split phase wiring that will effectively cut the network in half.
  
Wireless networks are not recommended. 802.11b is completely unusable. 802.11g has marginally enough bandwidth for broadcast digital content, but suffers from unreliability and periodic dropouts. MythTV is designed to run on reliable networks, and in order to cut down on latency for live playback, is not sufficiently buffered to handle such dropouts. 802.11n has enough bandwidth, but it suffers from the same dropouts as other forms of wireless, and it is still a broadcast architecture, that will limit the number of simultaneous frontends that can be used. 5GHz wireless gear like 802.11a and 802.11n will be better than 2.4GHz gear, because the available spectrum is much larger and relatively unused, however there are plenty of ways to route and disguise wired ethernet even if cutting into walls is not an option.
+
Wireless networks are not recommended. 802.11b is completely unusable. 802.11g has marginally enough bandwidth for broadcast digital content, but suffers from unreliability and periodic dropouts. MythTV is designed to run on reliable networks, and in order to cut down on latency for live playback, is not sufficiently buffered to handle such dropouts. 802.11n has enough bandwidth, but it suffers from the same dropouts as other forms of wireless, and it is still a broadcast architecture, that will limit the number of simultaneous frontends that can be used. 5 GHz wireless gear like 802.11a and 802.11n will be better than 2.4 GHz gear, because the available spectrum is much larger and relatively unused, however there are plenty of ways to route and disguise wired ethernet even if cutting into walls is not an option.
  
 
=== Disk Requirements ===
 
=== Disk Requirements ===
The disk requirements for a dedicated frontend are very minimal. A normal Linux installation including MythTV will take 2-3GB. Stripped down builds can be done for under 1GB. Frontends can be booted over the network, from USB, from flash drives, 2.5" desktop laptop drives, or normal 3.5" drives. Beyond startup, the only needs MythTV will have are for system logging and image cache. If you have a lot of MythVideo content with artwork, and a graphically intensive theme, the image cache can grow very large, easily into the several GB range. While SSDs may seem ideal for quiet, low power frontends, the only advantage they will provide is a slightly faster bootup, and are simply not worth the cost.
+
The disk requirements for a dedicated frontend are very minimal. A normal Linux installation including MythTV will take 2-3GB. Stripped down builds can be done for under 1 GB. Frontends can be booted over the network, from USB, from flash drives, 2.5" desktop laptop drives, or normal 3.5" drives. Beyond startup, the only needs MythTV will have are for system logging and image cache. If you have a lot of MythVideo content with artwork, and a graphically intensive theme, the image cache can grow very large, easily into the several GB range. While SSDs may seem ideal for quiet, low power frontends, the only advantage they will provide is a slightly faster bootup, and are simply not worth the cost.
  
 
=== Audio Requirements ===
 
=== Audio Requirements ===
There are three primary routes for audio output in MythTV: analog, digital SPDIF, or digital HDMI. For analog audio, there is perceivable benefit to using a discrete audio card, as they offer much better isolation than onboard sound codecs, and will result in reduced noise. For digital audio, onboard versus discrete will make no difference.
+
There are three primary routes for audio output in MythTV: analog, digital SPDIF, or digital HDMI. For analog audio, there is perceivable benefit to using a discrete audio card, as they offer much better isolation than onboard sound codecs, and will result in reduced noise. For digital audio, onboard versus discrete will make no difference.
  
Modern videos cards support HDMI, as well as using audio over HDMI. The nVidia 8 and 9 series cards provide a 2-pin header to allow passthrough from a SPDIF source. Motherboards with integrated 8 or 9 series video, as well as the GT series, will expose an HDA HDMI device to use directly.  The GT430 is currently the only card capable of [[User_Manual:HDAudioPassthrough|bit-streaming high definition audio]] codecs, as found on Bluray discs.
+
Modern videos cards support HDMI, as well as using audio over HDMI. The nVidia 8 and 9 series cards provide a 2-pin header to allow passthrough from a SPDIF source. Motherboards with integrated 8 or 9 series video, as well as the GT series, will expose an HDA HDMI device to use directly.  The GT 430 is currently the only card capable of [[User_Manual:HDAudioPassthrough|bit-streaming high definition audio]] codecs, as found on Blu-ray discs.
  
 
=== [[Cases|Enclosures]] ===
 
=== [[Cases|Enclosures]] ===
  
 
=== [[Cooling_Quietly|Cooling]] ===
 
=== [[Cooling_Quietly|Cooling]] ===
 
  
 
== Software Playback ==
 
== Software Playback ==
Line 32: Line 31:
  
 
=== Standard Definition ===
 
=== Standard Definition ===
Standard definition content will all be fairly trivial to handle. Standard definition MPEG2 content will range from 1-2Mbps digital recordings, to 6-7Mbps DVDs. All of which can be handled by late model P3s or better. MPEG4 Nuppelvideo recordings and DVD transcodes should be fine with similar CPU requirements. H264 content from digital recordings and transcoded DVDs may require a bit more power.
+
Standard definition content will all be fairly trivial to handle. Standard definition MPEG-2 content will range from 1-2 Mbps digital recordings, to 6-7 Mbps DVDs. All of which can be handled by late model P3s or better. MPEG-4 Nuppelvideo recordings and DVD transcodes should be fine with similar CPU requirements. H.264 content from digital recordings and transcoded DVDs may require a bit more power.
  
 
* Athlon XP, Pentium 4, or higher end Pentium 3
 
* Athlon XP, Pentium 4, or higher end Pentium 3
  
=== Broadcast MPEG2 ===
+
=== Broadcast MPEG-2 ===
The biggest problem dealing with digital recordings is that MythTV records them, unaltered, as they are broadcast. MythTV has no control over the resolution, quality, or bitrate, so if you are recording digital, you must size your frontend to allow for whatever the broadcaster may send.  ATSC content in North America will top out around 18Mbps, and will typically be closer to 14-16Mbps. Any non-mobile Athlon 64 or Core 2 processor will be sufficiently fast for decoding this content. Higher end Athlon XPs and Pentium 4s can handle this content as well. Atom processors will likely be too slow to manage. Older Core and Pentium M processors were generally only found on slower, mobile systems, and may be too slow as well.
+
The biggest problem dealing with digital recordings is that MythTV records them, unaltered, as they are broadcast. MythTV has no control over the resolution, quality, or bitrate, so if you are recording digital, you must size your frontend to allow for whatever the broadcaster may send.  ATSC content in North America will top out around 18 Mbps, and will typically be closer to 14-16 Mbps. Any non-mobile Athlon 64 or Core 2 processor will be sufficiently fast for decoding this content. Higher end Athlon XPs and Pentium 4s can handle this content as well. Atom processors will likely be too slow to manage. Older Core and Pentium M processors were generally only found on slower, mobile systems, and may be too slow as well.
  
 
* Athlon 64 or Core 2
 
* Athlon 64 or Core 2
  
=== Broadcast H264 ===
+
=== Broadcast H.264 ===
DVB broadcasters are allowed to use H264 as well as the older MPEG2. H264 is considerably more intensive than MPEG2, however it offers a concept called 'slicing', wherein a video frame is cut into multiple discrete regions that can be encoded and decoded separately. It allows multi-threaded decoding, allowing multi-core processors to be used more efficiently. HD DVB content under 14Mbps should be usable by any non-mobile Athlon 64 X2 or Core 2 Duo. Higher bitrate may need faster chips beyond the base model. Slower Atoms, Core Duos, and Pentium Ds will struggle with this content.
+
DVB broadcasters are allowed to use H.264 as well as the older MPEG-2. H.264 is considerably more intensive than MPEG-2, however it offers a concept called 'slicing', wherein a video frame is cut into multiple discrete regions that can be encoded and decoded separately. It allows multi-threaded decoding, allowing multi-core processors to be used more efficiently. HD DVB content under 14 Mbps should be usable by any non-mobile Athlon 64 X2 or Core 2 Duo. Higher bitrate may need faster chips beyond the base model. Slower Atoms, Core Duos, and Pentium Ds will struggle with this content.
  
 
* Athlon 64 X2 or Core 2 Duo
 
* Athlon 64 X2 or Core 2 Duo
  
 
=== [[Hauppauge_HD-PVR|HD-PVR]] ===
 
=== [[Hauppauge_HD-PVR|HD-PVR]] ===
The HD-PVR is a capture device capable of recording HD component video to H264. Unlike DVB broadcasts, the output of this device will be single sliced, meaning only one processor core can be used to decode it, presenting a more difficult challenge. An Athlon 64 processor of at least 3GHz, or Core 2 of at least 2.6GHz, is recommended for decoding content at the full 13.5Mbps the HDPVR can output. Since the video is encoded by the device, this bitrate can be reduced in the Recoding Profiles to allow use on slower hardware.
+
The HD-PVR is a capture device capable of recording HD component video to H.264. Unlike DVB broadcasts, the output of this device will be single sliced, meaning only one processor core can be used to decode it, presenting a more difficult challenge. An Athlon 64 processor of at least 3GHz, or Core 2 of at least 2.6 GHz, is recommended for decoding content at the full 13.5 Mbps the HDPVR can output. Since the video is encoded by the device, this bitrate can be reduced in the Recoding Profiles to allow use on slower hardware.
  
* Athlon 64 (>3GHz) or Core 2 (>2.6Ghz)
+
* Athlon 64 (>3 GHz) or Core 2 (>2.6 Ghz)
  
=== [[High_Definition_Disk_Formats|Bluray]] ===
+
=== [[High Definition Disk Formats|Blu-ray]] ===
This media will be the most difficult to handle in MythTV. Bluray disks contain MPEG2, H264, or VC-1 video at up to 40Mbps, but more typically between 25-30Mbps. An Athlon 64 X2 of at least 3Ghz, or Core 2 Duo of at least 2.6GHz, is recommended for viewing of this content. Triple and quad core versions of these processors can give some additional headroom.
+
This media will be the most difficult to handle in MythTV. Blu-ray Discs contain MPEG-2, H.264, or VC-1 video at up to 40 Mbps, but more typically between 25-30 Mbps. An Athlon 64 X2 of at least 3 GHz, or Intel Core 2 Duo of at least 2.6 GHz, is recommended for viewing of this content. Triple and quad core versions of these processors can give some additional headroom.
  
* Athlon 64 X2 (>3GHz) or Core 2 Duo (>2.6GHz)
+
* Athlon 64 X2 (>3 GHz) or Core 2 Duo (>2.6 GHz)
  
 
== Hardware Playback ==
 
== Hardware Playback ==
MythTV currently supports two hardware playback APIs that offer the ability to offload decoding from the CPU to another device. While these devices can be used to breathe life into an otherwise underpowered system, hardware decoders will never be as robust or flexible as software decoders, and '''it is recommended one chose a system with enough CPU power that it can be fallen back on if needed'''.
+
MythTV currently supports two hardware playback APIs that offer the ability to offload decoding from the CPU to another device. While these devices can be used to breathe life into an otherwise underpowered system, hardware decoders will never be as robust or flexible as software decoders, and '''it is recommended one chose a system with enough CPU power that it can be fallen back on if needed'''.
  
 
=== [[VDPAU]] ===
 
=== [[VDPAU]] ===
This API is available on any nVidia card, 8 series or newer. It supports full offloading of MPEG2, H264, and VC1. The availability of this allows older and slower systems, notably the ION platform, to remain useful with video content that far exceeds the capability of the processor.
+
This API is available on any nVidia card, 8 series or newer. It supports full offloading of MPEG-2, H.264, and VC1. The availability of this allows older and slower systems, notably the ION platform, to remain useful with video content that far exceeds the capability of the processor.
  
 
=== [[Broadcom_Crystal_HD|Crystal HD]] ===
 
=== [[Broadcom_Crystal_HD|Crystal HD]] ===
This API is used on a series of Broadcom MiniPCIe and ExpressCard adapters for use in laptops and small form factor systems. These devices offer similar capabilities to VDPAU, but exist for decoding only. A separate video card will need to be used for output.
+
This API is used on a series of Broadcom MiniPCIe and ExpressCard adapters for use in laptops and small form factor systems. These devices offer similar capabilities to VDPAU, but exist for decoding only. A separate video card will need to be used for output.
  
==== [[VAAPI]] ====
+
=== [[VAAPI]] ===
This decode API is currently in use by AMD and Intel for use on their graphics hardware. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25. Decoding capability using this should be comparable to VDPAU, however the nVidia solution is still preferred due to its maturity, as well as the post processing features it offers.
+
This decode API is currently in use by AMD and Intel for use on their graphics hardware. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25. Decoding capability using this should be comparable to VDPAU, however the nVidia solution is still preferred due to its maturity, as well as the post processing features it offers.
 +
 
 +
=== [[DXVA2|DxVA 2]] ===
 +
This decode API is used on Windows. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25.
 +
 
 +
=== [[VDA]] ===
 +
This decode API is used on OSX. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25.
  
 
=== Unusable APIs ===
 
=== Unusable APIs ===
 
These are interfaces that are either not yet supported, or have been removed from MythTV.
 
These are interfaces that are either not yet supported, or have been removed from MythTV.
 
==== DxVA 2 ====
 
This decode API is used on Windows.
 
 
==== VDA ====
 
This decode API is used on OSX.
 
  
 
==== [[XvMC]] ====
 
==== [[XvMC]] ====
This API is an old interface previously used by nVidia, supported by Intel and Via hardware, and promised but never delivered for AMD hardware.  This interface would only offer partial offload of MPEG2 video, allowing HD MPEG2 playback on low end Athlon XPs and Pentium 4s, as well as some high end Pentium 3s. The limitations of this interface, and severe restrictions it places on the OSD, resulted in support for this being dropped in MythTV 0.25, and use is not recommended for any version prior to that.
+
This API is an old interface previously used by nVidia, supported by Intel and Via hardware, and promised but never delivered for AMD hardware.  This interface would only offer partial offload of MPEG-2 video, allowing HD MPEG-2 playback on low end Athlon XPs and Pentium 4s, as well as some high end Pentium 3s. The limitations of this interface, and severe restrictions it places on the OSD, resulted in support for this being dropped in MythTV 0.25, and use is not recommended for any version prior to that.
  
 
==== [[Hauppauge_PVR-350|PVR-350]] ====
 
==== [[Hauppauge_PVR-350|PVR-350]] ====
This API is an old interface used by the Hauppauge PVR-350 tuner card. It offered standard definition MPEG2 decode, and basic framebuffer output. The video it was capable of decoding was usable on even midrange Pentium 3s. Support for this was dropped from MythTV 0.23, and use is not recommended for any version prior to that.
+
This API is an old interface used by the Hauppauge PVR-350 tuner card. It offered standard definition MPEG-2 decode, and basic framebuffer output. The video it was capable of decoding was usable on even midrange Pentium 3s. Support for this was dropped from MythTV 0.23, and use is not recommended for any version prior to that.
  
 
== Prebuilt Systems ==
 
== Prebuilt Systems ==
Line 99: Line 98:
  
 
=== Not Recommended ===
 
=== Not Recommended ===
These are systems that are not recommended for use as frontends, either due to lack of power or lack of memory to properly run a frontend.
+
The following are not recommended for use as frontends, either due to lack of power or lack of memory to properly run a frontend.
  
 +
*Apple TV
 
*HP t5720 / t5725 thin client
 
*HP t5720 / t5725 thin client
 
*Playstation 3
 
*Playstation 3
 +
*MediaMVP
 
*Xbox
 
*Xbox
*Apple TV
+
*Raspberry Pi
*MediaMVP
+
  
 
== [[UPnP_Client_Info|UPnP Playback]] ==
 
== [[UPnP_Client_Info|UPnP Playback]] ==
MythTV offers a UPnP server running on the backend that will stream any recording, video, or music content to compliant UPnP clients. UPnP clients can be purchased as a separate device, can be found in newer DVD players, in Bluray players, and even in some higher end TVs. This does come with limitations:
+
MythTV offers a UPnP server running on the backend that will stream video or music content to UPnP compliant clients. UPnP clients can be purchased as a separate device, can be found in newer DVD/Blu-ray players, and even in some higher end TVs. UPnP playback does come with limitations:
*Clients can only access pre-recorded content, and cannot use live tv.
+
*Clients can only access pre-recorded content and cannot use live tv.
 
*Clients can access in-progress recordings, but most will only play up to the point that was recorded at the time playback was started, requiring one to repeatedly exit and re-enter playback.
 
*Clients can access in-progress recordings, but most will only play up to the point that was recorded at the time playback was started, requiring one to repeatedly exit and re-enter playback.
 
*Clients cannot use the commercial skiplist or cutlist.
 
*Clients cannot use the commercial skiplist or cutlist.
*Mythbackend cannot perform live transcodes of content for streaming to UPnP clients. The content will have to exist on disk in a format the client can play directly.
+
*[[Mythbackend]] cannot perform live transcodes of content for streaming to UPnP clients. The content will have to exist on disk in a format the client can play directly.
 
+
<!--
+
The goal of this page is to compare the options and make a choice for frontend hardware.  Most of us have a combined frontend/backend system in the living room or a backend somewhere hidden. As we get more addicted to MythTV, the desire for additional frontends in other rooms in the house is increasing. This page compares frontends that either run MythTV natively or speak the myth protocol. 
+
 
+
Another possibility is to use a [[UPnPClientInfo|UPnP client]] communicating with the backend's UPnP server.
+
 
+
== Comparison Table ==
+
{| class="wikitable sortable" border="1" cellspacing="0" cellpadding="2"
+
! Device !! Price !! Fanless !! HD capable !! Size !! Latest version supported
+
|-
+
| Apple TV || $300 || No || Yes || Small ||?
+
|-
+
| Mac Mini || $600 || No || Yes || Small || Latest
+
|-
+
| Mini-itx || Varies || Optional || ? || Small || .20
+
|-
+
| XBox || $130 (used) || No || No || Large || .20
+
|-
+
| MediaMVP || [http://froogle.google.com/froogle?q=MediaMVP&btnG=Search+Froogle $85 - $100] || Yes || No || Small || See [http://www.mvpmc.org/index.php?pg=faq#q17 project FAQ]
+
|-
+
| Playstation 3 || [http://en.wikipedia.org/wiki/PlayStation_3#Release_data_and_pricing $499 - $599] || No || Yes || Large || .20
+
|-
+
| HP t5720 / t5725 thin client || $139.99+ || Yes || No || Medium || Latest
+
|-
+
| HP/Compaq DC7700 || ? || No || No || Medium || Latest
+
|-
+
| CrystalHD || $100 + a PC || Yes || Yes || Depends || Latest
+
|-
+
| VDPAU || $38 + a PC || Optional || Yes || Depends || Latest
+
|}
+
 
+
== Attributes ==
+
 
+
=== Cost ===
+
An SD frontend shouldn't need a lot of hardware power. In fact, new video acceleration hardware ([[VDPAU]] or [[CrystalHD]]) can even allow you to use minimal frontend to play HD content. How cheap can you go and still play recordings from a backend?
+
 
+
=== Noise ===
+
==== Possible Sources ====
+
* Cooling Fan(s)
+
* Hard drive(s)
+
* Optical Drive(s)
+
==== Solutions ====
+
* Fanless designs
+
** Some of the mini-itx systems are fanless.
+
* Undervolt fans
+
** Adding a resistor can slow and quiet fans, assuming they still cool adequately with reduced airflow
+
* Driveless designs
+
** Boot from network and mount root over NFS/iSCSI
+
** Boot from a small solid state media (USB flash drive, SD card, CompactFlash card, etc) and mount root over NFS/iSCSI
+
** Use large solid state media for booting and storing entire front end OS
+
** No Optical Drive needed for front end
+
 
+
=== Complexity ===
+
How much pain and suffering required to get things set up and running?
+
How much 'fiddling around'?
+
Will Mythdora, knoppmyth or another all-inclusive distro 'just work'?
+
If network booting or other approaches used to reduce costs, how hard are they to configure?
+
 
+
I'm cheap, but I also value my time. If somethings going to save me $100 but take 20 extra hours to figure out it's not worth it to me...
+
 
+
=== Quality ===
+
Is there any trade-off in video or sound quality?
+
 
+
=== Usability ===
+
Is the system power borderline? Are menus slow?
+
This attribute is mainly aimed at MediaMVP, which loses points since kids, spouse, etc will need to learn another UI.
+
 
+
=== Gravy ===
+
Other nice side-benefits of a particular approach or system.
+
 
+
== The Options ==
+
 
+
=== HD ===
+
 
+
Meaning MPEG2 720i (interlaced) on the lower end, to h.264 1080p (progressive, full frame) on the high end. Not all of the mentioned systems may be able to output 1080p.
+
 
+
''Please specify the performance for each build below.''
+
 
+
==== [[CrystalHD]] ====
+
* Pros
+
** HD: 1080p
+
* Cons
+
** Needs a PC (with Linux). Buying a CrystalHD is not the complete hardware solution.
+
** Needs a free mini PCI Express slot, commonly the single slot is taken the WiFi card.
+
** Needs a graphics card fast enough to displaying decoded HD video.
+
 
+
==== [[VDPAU#Card_status|VDPAU]] ====
+
 
+
* Pros
+
** HD: 1080p
+
* Cons
+
** Needs a PC (with Linux). Buying an Nvidia graphics card with VDPAU is not the complete hardware solution.
+
** Needs a free PCI Express 16X slot.
+
 
+
==== [[Apple TV]] ====
+
The first generation Apple TV.
+
 
+
* Pros
+
** Small
+
** Quiet
+
** Low Power usage
+
** Built for home theater environment.  HDMI and Component outputs, digital audio output, integrated IR receiver. There is even a hack for composite
+
** Mac OS X can now be installed after tweaking and binaries of MythFrontend easily available
+
** Can run Linux or Mac OS X with Myth Frontend on either, even XBMC
+
** HD: Native video playback support for up to 720p @ 30fps. Defined as: H.264 Picture playback, at 5Mbps, 24fps.  Not ATSC-HD Capable.
+
** HD: May play 1080i videos using [http://www.gossamer-threads.com/lists/mythtv/users/330117#330117 linux, XvMC and the built in nvidia 7300 GPU]
+
** HD: Can decode 1080p under linux with CrystalHD. But that removes the internal WiFi, freeing the mini PCI Express slot.
+
* Cons
+
** Limited CPU power (1GHz Merom, single core)
+
** Limited Memory: 256MB
+
** Early stages of OS X hacking
+
** Comparatively low support for Mac OS version of Myth Frontend
+
** Internal hard disk (notebook style) is slower than 3.5" drives
+
** Hardware upgrades difficult (HDD) or impossible (CPU, RAM, expansion cards)
+
 
+
==== HP/Compaq DC7700 ====
+
* Pros
+
** Quiet
+
** HD capable (1080i) even with the Intel graphics chip.
+
** Can easily run both frontend and backend and serve other frontends
+
** Uses Standard hardware components and has very good Linux driver support
+
** Black and silver case fits in well in most home theater setups.
+
** Hardware upgrades are very easy.
+
*Cons
+
**Basic Desktop form factor.  Bigger than a MacMini and typical small form factor PC.
+
**Specifications vary. For example, a DC7700 could come with an nVidia, ATI or Intel graphics, be a Pentium D or Core Duo. 
+
**Most likely source for these is as used, off-lease.  They are sourced from resellers who are buying lots of these units out of very large companies.
+
**Requires good ventilation.
+
 
+
Some documentation: [[Compaq DC7700 Small Form Factor]]
+
 
+
==== Mac Mini ====
+
* Pros
+
** Small
+
** Quiet
+
** SD: PowerPC faster than 1.42GHz.
+
** HD: Intel CPU, accelerated 1080p h.264 decoding possible on Early & Late 2009 and Mid 2010 models.
+
** Mac OS X binaries of MythFrontend easily available
+
** Can co-exist with Apple media apps & iTunes/iPod tools
+
** Can run Linux or Mac OS X with Myth Frontend on either
+
* Cons
+
** Comparatively low support for Mac OS version of Myth Frontend
+
** Internal hard disk (notebook style) is slower than 3.5" drives
+
** Hardware upgrades difficult (RAM/CPU/HDD) or impossible (expansion cards)
+
** Intel Minis Use integrated GPU rather than dedicated chip.
+
* Comments
+
** Note the latest mini also has mini-toslink (optical) digital i/o
+
** Built in ir receiver
+
** Supports boot from firewire and usb to add higher speed drives
+
** high WAF (at least in my house)
+
 
+
=== SD ===
+
 
+
==== Mini-itx ====
+
* Pros
+
** Small
+
** All drivers in kernel
+
** Hardware MPEG2 (~30% cpu usage on 1Ghz C3-2)
+
** SPDIF output on most boards
+
** Active 2d graphics driver [http://www.openchrome.org/]
+
** Powerful enough to decode SD [[Xvid]] with AC3
+
** Native SD resolutions for TV out (etc 720x576 for PAL)
+
* Cons
+
** Stagnant 3d driver
+
** Commercial flagging slow (reports ~45fps on 1Ghz C3-2)
+
** Majority of boards not powerful enough for HDTV
+
** cpu frequency scale driver still buggy
+
** Models with fans are still relatively loud
+
** Very small on chip cache
+
** Some users have been plagued by a DMA controller bug (had no problems myself) [http://forums.viaarena.com/messageview.aspx?catid=28&threadid=60131&enterthread=y]
+
* Comments
+
The [[Minimyth]] project provides a relativly simple route to getting a frontend up and running based on a Mini-ITX board
+
 
+
==== XBox ====
+
The first generation XBox, not the XBox360.
+
 
+
* Pros
+
** Smaller than most PCs
+
** Relatively inexpensive ($129 used, as of May 18, 2006)
+
** Preconfigured binary disk images available on the internet
+
** Remote available and easy to install
+
** If softmodded, can retain ability to play XBox games
+
** Can be modified to run Linux without installing a modchip via a [http://en.wikipedia.org/wiki/Softmod Softmod]
+
* Cons
+
** Hardware is mostly unmodifiable
+
** Low RAM (64 MB, upgradeable to 128, but the process is risky and virtually impossible without professional help!)
+
** Boot time is about 2 minutes
+
** Not the smallest machine around
+
** Recovery from hardware failure is more difficult than with other systems
+
** DVD-ROM drive is sensitive to most CD-Rs, and some brands of DVD±R(W)/DLs.
+
* Comments
+
Given the cost of the XBox, it makes a pretty decent Standard-Def frontend. The CPU has enough power to perform all the usual MythTV bells and whistles (OSD, Time-stretch, haven't tested Picture-In-Picture) with MPEG-2 video (haven't tested those features with [[MPEG-4]], but Linux can run MPEG-4 in MythVideo). The machine is quite stable, but depending on how you go about installing MythTV, your software might not (some prefab'd Myth disk images are slightly unstable). One useful side-benefit is that should you find MythVideo to be unsatisfactory for one reason or another, an alternative can be run as XBox homebrew (the most common is XBMC). For $129 (with the price sure to fall eventually, with the release of the XBox 360), the XBox gives you a machine capable of all the (standard definition) MythTV features, and a few extra features as well.
+
 
+
The machine is mostly quiet, the loudest part being the fan, which is easily overridden by either controlling the fan speed (0.9x and below delivers noticeable changes), by replacing it with a quieter fan (if you're prepared to void your warranty), or simply by putting something on (the fan is easily drown out by ANYTHING, and can usually only be heard when everything else is silent). While the XBox has been criticized as the largest game console known to man, it's only roughly the size of a VCR, and shouldn't be too outrageously large to install in a home media center. The DVD-ROM drive is quite functional for commercially pressed discs, but (depending on the brand of your DVD-ROM drive) is not compatible with most CD-Rs, and some brands of DVD±R(W)s, including Dual Layer media. The XBox is also phenomenally easy to set up. One cord for network, one for A/V, one for power. If the user feels it necessary, additional peripherals can be installed through the XBox's USB ports (though an [http://secure.llamma.com/catalog/product_info.php?cPath=64_27&products_id=80 adapter] will be required).
+
 
+
==== MediaMVP ====
+
 
+
* Pros
+
** Cheap!
+
** Diskless, fanless, small and high [[WAF]] factor.
+
** It becomes a MythTV front-end with the use of [http://www.mvpmc.org/ MediaMVP Media Center] (mvpmc).
+
** Because the firmware is loaded via TFTP after every cold reboot, you don't have to worry about destroying something.
+
** Built-in hardware MPEG-1 and MPEG-2 decoder.
+
 
+
* Cons
+
** Different UI than other MythTV front-ends.
+
** On the American model the best you can get is S-Video.
+
** SD: max 480i
+
** Transcoding PC needed for [[DivX]] and other formats. Playback of video formats other than MPEG-1 and MPEG-2 is accomplished by transcoding the files in real-time using [[VLC]] or the software supplied by Hauppauge on a PC.
+
** You can watch and delete your recordings, as well as view the upcoming recording schedule. You can also watch live tv on any available tuner. Additional functionality, such as scheduling of recordings, commercial skip, etc are not supported at this time (13/06-06).
+
** Sometimes lags behind MythTV protocol changes. See the project FAQ for the [http://www.mvpmc.org/index.php?pg=faq#q17 latest supported version].
+
** Old MediaMVP hardware versions don't have optical sound without opening the box. The new MediaMVP has optical sound.
+
** The mvpmc firmware is loaded by TFTP server. No security, but easy.
+
 
+
* Comments
+
** [http://www.hauppauge.com/pages/products/data_mediamvp.html MediaMVP Brochure] - official product information.
+
** [http://www.hauppauge.com/html/mediamvp_datasheet.htm MediaMVP Datasheet] - official product information.
+
** [http://www.hauppauge.com/pages/faq/support_faq_mediamvp.html MediaMVP FAQ]
+
** [http://www.mvpmc.org/ MediaMVP Media Center] - (mvpmc) is a media player for the Hauppauge MediaMVP. It replaces the factory firmware and supports playing audio and video from MythTV or ReplayTV digital video recorders, or via HTTP, NFS, and CIFS.
+
** [http://www.dforsyth.net/mvp/ hardware information] - specifications, photos.
+
** [http://www.shspvr.com/smf/index.php?#9 SHS MediaMVP Forum]
+
** [http://www.shspvr.com/smf/index.php?topic=5805.0 Other Resources]
+
 
+
I think I read that this includes softsqueeze for tunes.
+
 
+
==== [[:Category:PS3|Playstation 3]] ====
+
 
+
* Pros
+
** You might already have one
+
** Sony supports PS3 Linux development
+
** Modern and powerful
+
** Can upgrade SATA 2.5" hard drive without voiding warranty.
+
** Ideal home theater connectivity (RCA/Component/HDMI/DVI, RCA/optical audio).
+
** Cell SPEs may allow some encoding/decoding acceleration using SDK?
+
 
+
* Cons
+
** Expensive
+
** Sony blocks access to Nvidia RSX GPU with hypervisor - Linux only has a framebuffer.
+
** Found to be on the slow side for playback due to framebuffer
+
** For use as a back-end, the only methods available are through USB.
+
** PS3 no longer support Linux. Hacking support back in may limit you in using your PS3 online.
+
 
+
* Comments
+
**Not well documented
+
 
+
==== HP t5720 / t5725 thin client ====
+
[[Image:HP-thinclient.jpg]]
+
* Pros
+
** Cheap.  Check your favorite online auction site.
+
** Fanless / diskless silent frontend
+
** Runs distro of your choice (Ubuntu installs simply)
+
** Supports PXE boot
+
** Can use USB 2.0 hard drive or flash stick for local storage / OS
+
** Add a mouse/keyboard and it's a usable desktop workstation
+
** Includes onboard IDE flash storage (size varies)
+
** Easy install.  The hardware isn't extraordinary so standard documentation applies
+
 
+
* Cons
+
** Needs the PCI expansion slot (~$30.00) and a PCI video card for S-Video out (nvidia & compiz work fine)
+
** With the PCI expansion slot installed the unit must only be vertical (stand included) for thermal considerations.  Looks like a PS2
+
** Wireless?  Working on it...
+
** No built in optical drive.  (external USB works fine)
+
** Onboard video is weak (shares 16mb of system memory) so the PCI expansion and an add-on card are essential. 
+
 
+
This box is available as the t5720 or the t5725.  Hardware is identical.  The t5720 ships with windows, the t5725 with a "Debian-based client".  There are many CPU/Memory/Flash configurations.  I've got the 1GHz/1gb/1gb version working without problems running a default Ubuntu 8.04 desktop installed to a 4GB USB stick. I paid $200 on eBay without the PCI expansion slot.  I use the USB Keyspan Vista RF remote so the frontend can be hidden and does not require line of sight for remote control.  My next steps include moving the log files to RAM [http://www.linux.com/feature/141231] to preserve my solid state storage.  The PCI expansion slot will accept a half-length, full-height PCI video card.  I found a fanless PCI nvidia geforce 6200 card w/ s-video out for about $35.00.  It handles mythtv easily and I can enable Compiz to get the nifty eye-candy.  This is a stable frontend which I use in my living room daily.  I've tried xboxes, macs and clunker PCs as frontends but the t5720 / t5725 has been the easiest to setup, quietest and most stable solution I've found.
+
 
+
== Sample systems ==
+
 
+
Links off to specific system entries in the [http://pvrhw.goldfish.org PVR Hardware Database].
+
 
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=Frontend%20only%20upstairs%20machine Frontend only upstairs machine]
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=All%20ATI%20frontend All ATi frontend]
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=GrouchoFrontEnd01 Groucho Frony End 01]
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=HD%20Frontend HD Frontend]
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=Mini-Frontend Mac Mini Frontend]
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=lowendfrontend Low-end Frontend]
+
* [http://pvrhw.goldfish.org/tiki-view_pvrent.php?systemid=XBOX%20Frontend%201 XBOX Frontend]
+
-->
+
  
 
[[Category:Hardware]]
 
[[Category:Hardware]]

Revision as of 09:58, 15 June 2013

The goal of this page is to outline the options available for dedicated frontend hardware based on the realities of television and retail video content at the beginning of 2011. The separated nature of the MythTV frontend/backend system allows for some interesting design choices, allowing for small, compact playback devices.

System Considerations

MythTV has been designed to operate on x86 based computers. While it will compile and run on other architectures such as PPC and ARM, they will neither be as heavily tested, nor will the decoding libraries be as heavily optimized. For new purchases, modern mainstream processors such as the Athlon II, Phenom, Core 2, and Core i3/5 lines are recommended.

Memory Requirements

MythTV is intended to run dedicated on standard PC hardware, and has never been designed to be particularly miserly with memory. For standard definiton output and a lightweight theme, consider 256MB of memory to be an absolute minimum. Beyond that, the system is going to start swapping heavily, and usability will plummet. For high definition frontends, 512MB is a minimum, and 1GB if using a theme that uses artwork heavily.

Video Requirements

nVidia has long been providing reliable hardware and drivers for using on Linux. The recommended video hardware for use with MythTV is anything nVidia 8-series or better. If you need analog television output, only the 8 and 9 series support such, while the GT or later series do not. ATI/AMD has improved significantly over the past years, but they have a very poor track record for stable Linux support, and should not be considered. The Intel graphics available on the Core i3 and i5 processors is generally sufficient, while older Intel graphics will not have sufficient power for the OpenGL video renderer. However, note that they do not have the same amount of flexibility in dealing with odd resolutions and misbehaving TVs as can be found in the nVidia graphics.

Network Requirements

The recommended minimum network for use with MythTV is wired 100 Mbps Ethernet. Gigabit Ethernet is not needed, but can provide better responsiveness while seeking during video playback. Powerline networking generally has sufficient bandwidth, and is decently reliable, but suffers from the fact that it is a broadcast architecture, and multiple frontends will quickly saturate the system. Further, there are problems with many homes using split phase wiring that will effectively cut the network in half.

Wireless networks are not recommended. 802.11b is completely unusable. 802.11g has marginally enough bandwidth for broadcast digital content, but suffers from unreliability and periodic dropouts. MythTV is designed to run on reliable networks, and in order to cut down on latency for live playback, is not sufficiently buffered to handle such dropouts. 802.11n has enough bandwidth, but it suffers from the same dropouts as other forms of wireless, and it is still a broadcast architecture, that will limit the number of simultaneous frontends that can be used. 5 GHz wireless gear like 802.11a and 802.11n will be better than 2.4 GHz gear, because the available spectrum is much larger and relatively unused, however there are plenty of ways to route and disguise wired ethernet even if cutting into walls is not an option.

Disk Requirements

The disk requirements for a dedicated frontend are very minimal. A normal Linux installation including MythTV will take 2-3GB. Stripped down builds can be done for under 1 GB. Frontends can be booted over the network, from USB, from flash drives, 2.5" desktop laptop drives, or normal 3.5" drives. Beyond startup, the only needs MythTV will have are for system logging and image cache. If you have a lot of MythVideo content with artwork, and a graphically intensive theme, the image cache can grow very large, easily into the several GB range. While SSDs may seem ideal for quiet, low power frontends, the only advantage they will provide is a slightly faster bootup, and are simply not worth the cost.

Audio Requirements

There are three primary routes for audio output in MythTV: analog, digital SPDIF, or digital HDMI. For analog audio, there is perceivable benefit to using a discrete audio card, as they offer much better isolation than onboard sound codecs, and will result in reduced noise. For digital audio, onboard versus discrete will make no difference.

Modern videos cards support HDMI, as well as using audio over HDMI. The nVidia 8 and 9 series cards provide a 2-pin header to allow passthrough from a SPDIF source. Motherboards with integrated 8 or 9 series video, as well as the GT series, will expose an HDA HDMI device to use directly. The GT 430 is currently the only card capable of bit-streaming high definition audio codecs, as found on Blu-ray discs.

Enclosures

Cooling

Software Playback

Software decoding of video content is entirely dependent on the CPU, so the content you want to play will determine how much or how little you need.

Standard Definition

Standard definition content will all be fairly trivial to handle. Standard definition MPEG-2 content will range from 1-2 Mbps digital recordings, to 6-7 Mbps DVDs. All of which can be handled by late model P3s or better. MPEG-4 Nuppelvideo recordings and DVD transcodes should be fine with similar CPU requirements. H.264 content from digital recordings and transcoded DVDs may require a bit more power.

  • Athlon XP, Pentium 4, or higher end Pentium 3

Broadcast MPEG-2

The biggest problem dealing with digital recordings is that MythTV records them, unaltered, as they are broadcast. MythTV has no control over the resolution, quality, or bitrate, so if you are recording digital, you must size your frontend to allow for whatever the broadcaster may send. ATSC content in North America will top out around 18 Mbps, and will typically be closer to 14-16 Mbps. Any non-mobile Athlon 64 or Core 2 processor will be sufficiently fast for decoding this content. Higher end Athlon XPs and Pentium 4s can handle this content as well. Atom processors will likely be too slow to manage. Older Core and Pentium M processors were generally only found on slower, mobile systems, and may be too slow as well.

  • Athlon 64 or Core 2

Broadcast H.264

DVB broadcasters are allowed to use H.264 as well as the older MPEG-2. H.264 is considerably more intensive than MPEG-2, however it offers a concept called 'slicing', wherein a video frame is cut into multiple discrete regions that can be encoded and decoded separately. It allows multi-threaded decoding, allowing multi-core processors to be used more efficiently. HD DVB content under 14 Mbps should be usable by any non-mobile Athlon 64 X2 or Core 2 Duo. Higher bitrate may need faster chips beyond the base model. Slower Atoms, Core Duos, and Pentium Ds will struggle with this content.

  • Athlon 64 X2 or Core 2 Duo

HD-PVR

The HD-PVR is a capture device capable of recording HD component video to H.264. Unlike DVB broadcasts, the output of this device will be single sliced, meaning only one processor core can be used to decode it, presenting a more difficult challenge. An Athlon 64 processor of at least 3GHz, or Core 2 of at least 2.6 GHz, is recommended for decoding content at the full 13.5 Mbps the HDPVR can output. Since the video is encoded by the device, this bitrate can be reduced in the Recoding Profiles to allow use on slower hardware.

  • Athlon 64 (>3 GHz) or Core 2 (>2.6 Ghz)

Blu-ray

This media will be the most difficult to handle in MythTV. Blu-ray Discs contain MPEG-2, H.264, or VC-1 video at up to 40 Mbps, but more typically between 25-30 Mbps. An Athlon 64 X2 of at least 3 GHz, or Intel Core 2 Duo of at least 2.6 GHz, is recommended for viewing of this content. Triple and quad core versions of these processors can give some additional headroom.

  • Athlon 64 X2 (>3 GHz) or Core 2 Duo (>2.6 GHz)

Hardware Playback

MythTV currently supports two hardware playback APIs that offer the ability to offload decoding from the CPU to another device. While these devices can be used to breathe life into an otherwise underpowered system, hardware decoders will never be as robust or flexible as software decoders, and it is recommended one chose a system with enough CPU power that it can be fallen back on if needed.

VDPAU

This API is available on any nVidia card, 8 series or newer. It supports full offloading of MPEG-2, H.264, and VC1. The availability of this allows older and slower systems, notably the ION platform, to remain useful with video content that far exceeds the capability of the processor.

Crystal HD

This API is used on a series of Broadcom MiniPCIe and ExpressCard adapters for use in laptops and small form factor systems. These devices offer similar capabilities to VDPAU, but exist for decoding only. A separate video card will need to be used for output.

VAAPI

This decode API is currently in use by AMD and Intel for use on their graphics hardware. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25. Decoding capability using this should be comparable to VDPAU, however the nVidia solution is still preferred due to its maturity, as well as the post processing features it offers.

DxVA 2

This decode API is used on Windows. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25.

VDA

This decode API is used on OSX. Support for this was recently added to the development branch, to be available with the upcoming release of 0.25.

Unusable APIs

These are interfaces that are either not yet supported, or have been removed from MythTV.

XvMC

This API is an old interface previously used by nVidia, supported by Intel and Via hardware, and promised but never delivered for AMD hardware. This interface would only offer partial offload of MPEG-2 video, allowing HD MPEG-2 playback on low end Athlon XPs and Pentium 4s, as well as some high end Pentium 3s. The limitations of this interface, and severe restrictions it places on the OSD, resulted in support for this being dropped in MythTV 0.25, and use is not recommended for any version prior to that.

PVR-350

This API is an old interface used by the Hauppauge PVR-350 tuner card. It offered standard definition MPEG-2 decode, and basic framebuffer output. The video it was capable of decoding was usable on even midrange Pentium 3s. Support for this was dropped from MythTV 0.23, and use is not recommended for any version prior to that.

Prebuilt Systems

Below are several examples of commercial systems available for users who do not want to build their own frontends.

ASRock Vision 3D

The ASRock Vision 3D is a small-form-factor, pre-built system that comes with mobile Intel Core i CPUs and VDPAU-compatible nVidia GeForce graphics. The mobile Core i CPU is a very efficient processor that has sufficient headroom to allow software based decoding or transcoding or commercial flagging when necessary, but idles at low power. The VDPAU support allows offloading most video decoding and presentation for playback to the video card. Additional information is available at the Vision 3D Series Manufacturing page.

Mac Mini

Generally, only worthwhile if you can find an older model with a VDPAU-compatible nVidia GPU.

HP/Compaq DC7700

nVidia ION

Not Recommended

The following are not recommended for use as frontends, either due to lack of power or lack of memory to properly run a frontend.

  • Apple TV
  • HP t5720 / t5725 thin client
  • Playstation 3
  • MediaMVP
  • Xbox
  • Raspberry Pi

UPnP Playback

MythTV offers a UPnP server running on the backend that will stream video or music content to UPnP compliant clients. UPnP clients can be purchased as a separate device, can be found in newer DVD/Blu-ray players, and even in some higher end TVs. UPnP playback does come with limitations:

  • Clients can only access pre-recorded content and cannot use live tv.
  • Clients can access in-progress recordings, but most will only play up to the point that was recorded at the time playback was started, requiring one to repeatedly exit and re-enter playback.
  • Clients cannot use the commercial skiplist or cutlist.
  • Mythbackend cannot perform live transcodes of content for streaming to UPnP clients. The content will have to exist on disk in a format the client can play directly.