MythTV

From Gentoo Wiki
Jump to: navigation, search
This article is a stub. You can help by expanding it.

MythTV is a powerful media center and video recording software system. The distributed architecture allows analog and digital media to be captured, organized, and streamed over the network to other MythTV instances or network attached devices.

Installation

MythTV is a complex and capable system and during the first install can be a little daunting to configure if there is no familiarity with the software. Once the backend has been set up properly and configured with recording devices/sources (DVB or analog capture etc.), there is usually little maintenance here and there in the future.

Kernel

Depending on how MythTV is going to be configured, there may be options in the kernel that need to be enabled. If support is required for recording media from DVB devices or controlling with a remote control, the relevant devices need to be enabled in the kernel before MythTV or any other applications will be able to access them.

KERNEL Example enabling support for DVB devices
Write kernel feature instructions here.

USE flags

MythTV has quite a few USE flags to customize configuration according to hardware specification and software requirements.

USE flags for media-tv/mythtv Homebrew PVR project

alsa Allows MythTV to directly output sound to ALSA devices, this is needed if you are using ALSA dmix or SPDIF. Note, you will have to physically type your device into the MythTV configuration since it will only give you /dev/dsp devices in the drop down. local
altivec Builds ffmpeg's codec libraries with altivec support. local
autostart Uses a custom autostart configuration gleaned from experience with MythTV since its early versions and discussed with other MythTV maintainers and users. Does not rely on KDE being installed like most methods do. local
bluray Pulls in libbluray for BluRay support. local
cec Allows you to control CEC enabled TVs via HDMI. Currently requires a USB based CEC -> HDMI injector between your TV and video card since no graphics drivers support CEC natively. local
crystalhd Allows you to utilize a Broadcom CrystalHD hardware based video decoder to improve the performance of video decode. local
debug Instructs Qt to use the 'debug' target instead of 'release' target. If your MythTV is crashing or you need a backtrace, you need to compile it with this option otherwise the debugging data is useless. local
dvb Enables support for Linux DVB cards. These include all cards that work with digital signals such as ATSC, DVB-T, DVB-C, and DVB-S, QAM-64, and QAM-256. local
dvd Add support for DVDs global
egl Support EGL video output. local
fftw Support visualizations via sci-libs/fftw local
hls HTTP Live Streaming support local
ieee1394 Allows MythTV to communicate and use Firewire enabled Cable boxes. These are typically found in the United States, where such support is required by law. This will also install Firewire test programs and external channel changers if the internal changer does not work. local
jack Allows MythTV to use JACK as your sound output device. You will have to manually configure the path to your JACK settings. local
lcd Tells MythTV that you have an instance of app-misc/lcdproc configured on your machine and it should output information such as current time, show name, episode name, etc to that LCD. local
libass SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support global
lirc Adds LIRC support directly to MythTV allowing for built in control via a LIRC device. local
mythlogserver Enable support for syslog and file logging. Not used with systemd. local
perl Builds the perl bindings for MythTV. Allows you to write scripts in Perl to control your MythTV setup or communicate with it. local
pulseaudio Add support for PulseAudio sound server global
python Add optional support/bindings for the Python language global
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking global
theora Add support for the Theora Video Compression Codec global
vaapi Enable Video Acceleration API for hardware decoding global
vdpau Enable the Video Decode and Presentation API for Unix acceleration interface global
vorbis Add support for the OggVorbis audio codec global
wrapper Use Ubuntu mythtfrontend wrapper. local
xml Add support for XML files global
xmltv Pulls in the media-tv/xmltv TV listing grabbers for users not using Schedules Direct. local
xvid Add support for xvid.org's open-source mpeg-4 codec global
zeroconf Support for DNS Service Discovery (DNS-SD) global

Emerge

root #emerge --ask media-tv/mythtv

Configuration

(Explain how to configure the package/software/tool/utility in this section.)

MythTV includes a backend which handles recordings and manages databases of media, this has to be configured and running before the a client, mythfrontend, or other media player can interact with the MythTV system. MythTV also requires a running MySQL compatible database server such as MySQL or MariaDB to function, this is handled through the database modules of Qt.

Database

A database will need to be set up before the MythTV backend can be started. The emerge command should have already pulled in MySQL or MariaDB but the database server may not have been configured yet, if this is the case please refer to MySQL or MariaDB for information. The following command will set up the MythTV database using the emerge config phase, this will require a root user and password for the database.

root #emerge --config media-tv/mythtv

Mythbackend

At least one backend must be running to use MythTV, this can be on the same host as the frontend or a different host on the network.

Start the MythTV backend on the chosen host(s) and add it to the default runlevel.

root #/etc/init.d/mythbackend start
root #rc-update add mythbackend default

Usage

Warning
This page is a work in progress by Gavlee (talk | contribs). Treat its contents with caution.

(Explain how to use the package/software/tool/utility in this section.)

Invocation

(Remove this section if not applicable.)

MythTV frontend

The mythfrontend application is the frontend process of MythTV for viewing media on the MythTV system.

user $mythfrontend

Troubleshooting

Removal

Unmerge

Removal can be as simple as running an --unmerge:

root #emerge --ask --unmerge media-tv/mythtv

See also

  • MythTV/MythPlugins - Plugins for MythTV handling games, news, weather, etc.
  • MythTV/MythWeb - Web application for allowing control of MythTV from a web browser.
  • Kodi - A media center application (formerly known as XBMC), a plugin is available to interface with the MythTV backend.

External resources