To watch TV at acceptable speeds, you'll want at least an 800 MHz G4 or better. For HDTV nearly any Intel-based Mac released from 2006 onwards will suffice, though newer machines will allow the use of better deinterlacers for 1080i content. MythTV will not use GPU acceleration on OSX until {{Ticket|2381}} or an equivalent has been finished.

+

To watch TV at acceptable speeds, you'll want at least an 800 MHz G4 or better. For HDTV nearly any Intel-based Mac released from 2006 onwards will suffice, though newer machines will allow the use of better deinterlacers for 1080i content.

{{Warning}} Note: in order for the MythTV Frontend to do anything useful you must first have a MythTV backend installed and configured. Additionally the frontend and backend generally need to be the same major version to work together.

{{Warning}} Note: in order for the MythTV Frontend to do anything useful you must first have a MythTV backend installed and configured. Additionally the frontend and backend generally need to be the same major version to work together.

−

The first time you run '''MythFrontend''', it will enter a setup mode where you must configure the details of its access to the backend, and its display options. See the [http://www.mythtv.org/wiki/User_Manual:Detailed_configuration_Frontend User Manual] for more information on configuring the frontend.

+

The first time you run '''MythFrontend''', it will enter a setup mode where you must configure the details of its access to the backend, and its display options. Currently for v0.25 the frontend must be configured to use OpenGL. See [[ForcingOpenGL|here]] for instructions.

+

+

See the [http://www.mythtv.org/wiki/User_Manual:Detailed_configuration_Frontend User Manual] for more information on configuring the frontend.

Line 49:

Line 51:

==== Accessing MythWeb ====

==== Accessing MythWeb ====

−

To browse [[MythWeb]] servers from OSX, you may have to alter the treatment of streaming files. Please see [[MythWeb_client_on_Mac_OS_X]].

+

To watch streamed video on [[MythWeb]] servers from OSX, you may have to [[MythWeb_client_on_Mac_OS_X|alter the treatment of streaming files]].

= Installing MythTV Backend =

= Installing MythTV Backend =

−

The MythTV backend and its dependencies run smoothly on OSX, though you should be sure to install a version at least as recent as 0.22-fixes (as of [http://svn.mythtv.org/trac/changeset/23100 Jan 15, 2010]), particularly if you are using Snow Leopard 10.6.x.

+

The MythTV backend and its MySQL database run smoothly on OSX.

−

+

Setting up the backend is somewhat more complicated than when using prebuilt Linux distributions such as MythBuntu. Inexperienced users who run into trouble may wish to gain experience with MythTV on Linux as training for setting it up on OSX.

Setting up the backend is somewhat more complicated than when using prebuilt Linux distributions such as MythBuntu. Inexperienced users who run into trouble may wish to gain experience with MythTV on Linux as training for setting it up on OSX.

The main additional complexities of installing the backend on OSX are

The main additional complexities of installing the backend on OSX are

−

* Installing wget

* Installing MySQL

* Installing MySQL

* Setting initial MySQL database and permissions

* Setting initial MySQL database and permissions

−

−

== Install Wget ==

−

The '''MythFillDatabase''' program (fetches schedule info) depends on <code>wget</code> which is not included in the default install of Mac OSX. You can install <code>wget</code> [http://www.statusq.org/archives/2008/07/30/1954/ directly], or via Fink or MacPorts, or by [http://www.gnu.org/software/wget/ downloading] and building it.

−

−

'''MythTV-Setup''' also uses <code>wget</code> when trying to obtain the channel list, so one ''must'' install <code>wget</code> before trying to take the backend through its initial setup steps.

== Set Up MySQL ==

== Set Up MySQL ==

Line 75:

Line 70:

==== Download and Install ====

==== Download and Install ====

−

Grab and install MySQL 5.1 for Mac OS X from the [http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg Mysql site]. The 32-bit version is fine, except for Australian users running OSX 10.7 who will need [http://svn.whuffy.com/ shepherd] for TV guide data.

+

Grab and install MySQL 5.1 for Mac OS X from the [http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg Mysql site]. Either the 32-bit or 64-bit version is fine, except for Australian users running OSX 10.7 who will need 64-bit libraries to run [http://svn.whuffy.com/ shepherd] for TV guide data.

For controlling the MySQL database server, you can choose one of the following options:

For controlling the MySQL database server, you can choose one of the following options:

−

* Choose a user account responsible for running the database server, then install '''MySQL.prefPane''' for that account. You will almost certainly want to use ''System Preferences -> Accounts'' to make that account automatically login.

+

* Set up the database server without locking it to a user account by installing '''MySQLStartupItem.pkg'''. More information for the curious is [[MySQL_For_Myth_on_Mac_OS_X|here]].

−

* Set up the database server without a dedicated user account by installing '''MySQLStartupItem.pkg'''. More information for the curious is [[MySQL_For_Myth_on_Mac_OS_X|here]].

+

* Choose a user account responsible for running the database server, then install '''MySQL.prefPane''' for that account. You will almost certainly want to use ''System Preferences -> Accounts'' to make that account automatically login.

==== Server Startup ====

==== Server Startup ====

After installation, the MySQL server needs to be started.

After installation, the MySQL server needs to be started.

−

* If you have installed '''MySQL.prefPane''' preference pane, go into System Preferences and select '''MySQL''' in the ''Others'' category, check ''Automatically Start MySQL on Startup'', then click on the '''Start MySQL''' button.

+

* Reboot and the server will start automatically if you used the Startup Item.

−

* Otherwise, reboot and the server will start automatically.

+

* If you have installed '''MySQL.prefPane''' preference pane instead

−

+

** Go into System Preferences and select '''MySQL''' in the ''Others'' category

−

+

** Check ''Automatically Start MySQL on Startup''

−

+

** Click on the '''Start MySQL''' button.

−

===== MySQL Server Data Directory =====

+

−

If you get an error message such as '''Permission denied''' to the data directory, use this command:

+

−

+

−

<code>sudo chmod -R oug+rwX ''directory''</code>

+

−

+

−

(where ''directory'' is typically <code>/usr/local/mysql/data</code>), then attempt to start the database server again.

This root password is not one you will generally have to share, but you should definitely make a record of it.

+

This root password is not one you will generally have to share, but you should [http://www.howtoforge.com/reset-forgotten-mysql-root-password definitely] make a record of it.

===== Database Privileges and Character Set =====

===== Database Privileges and Character Set =====

Line 150:

Line 139:

The above commands are equivalent to the [https://github.com/MythTV/mythtv/blob/master/mythtv/database/mc.sql setup script] that runs automatically when you install MythTV on Linux distributions.

The above commands are equivalent to the [https://github.com/MythTV/mythtv/blob/master/mythtv/database/mc.sql setup script] that runs automatically when you install MythTV on Linux distributions.

−

If you will be watching TV on other computers using this backend, you will need to create database permissions for them as well. See the [http://dev.mysql.com/doc/refman/5.1/en/account-names.html MySQL manual] for more information.

+

If you will be watching TV on other computers using this backend, you will need to [http://stackoverflow.com/questions/6401218/granting-mysql-access-rights-to-all-machines-on-subnet create database permissions] for them as well. One common invocation is

+

+

''mysql> ''GRANT ALL PRIVILEGES ON mythconverg.* TO 'mythtv'@'192.168.1.0/255.255.255.0' IDENTIFIED BY "mythtv-password";;

See the [http://dev.mysql.com/doc/refman/5.1/en/account-names.html MySQL manual] if you need more information on permissions.

=== Finishing Backend Setup ===

=== Finishing Backend Setup ===

Line 156:

Line 151:

Now download the backend (from one of the servers above).

Now download the backend (from one of the servers above).

−

Launch '''MythTV-Setup.app''' and go through the configuration steps (detailed explanations can be found in the [http://www.mythtv.org/wiki/User_Manual:Detailed_configuration_Backend User Manual]). Follow the instructions (it will tell you to run '''MythFillDatabase.app''' once you've setup your capture card).

+

Launch '''MythTV-Setup.app''' and go through the configuration steps.

+

* Specific instructions for the common case of an [[Backend_Mac_OS_X_USA_HDHR_Setup|HDHomeRun in the USA]]

+

* Detailed explanations for other variations can be found in the [http://www.mythtv.org/wiki/User_Manual:Detailed_configuration_Backend User Manual].

where we have assumed that '''MythBackend.app''' resides in a <code>MythBackend</code> subfolder of <code>/Applications</code>.

−

To have MythBackend run as a specific user, insert the following under </array>, substituting '''mythtv''' with the username of your choice.

+

To have MythBackend run as a specific user, insert the following under <code></array></code>, substituting '''mythtv''' with the username of your choice.

−

<key>UserName<key>

+

<key>UserName</key>

<string>mythtv</string>

<string>mythtv</string>

Also, don't forget to create and set the correct permissions for the log file

Also, don't forget to create and set the correct permissions for the log file

Line 198:

Line 196:

in a '''Terminal''' window.

in a '''Terminal''' window.

−

== Gotchas and Warnings ==

+

= Setting up MythWeb =

+

+

'''MythWeb''' is a convenient collection of website code that lets you set up recordings, browse the schedule, and review existing recordings without having to start the complete frontend. Since Macs have a built-in webserver, it's pretty simple to get [[MythWeb]] going as well. For complete setup instructions, please see [[MythWeb_on_Mac_OS_X_Backend|the OSX-specific instructions]].

+

+

= Gotchas and Warnings =

+

==== Limited Tuners ====

==== Limited Tuners ====

Line 204:

Line 207:

The '''HDHomeRun''' network tuner is well known to work using the Mac version of Myth backend. Recording via firewire from set top boxes such as the Motorola 6412 or Motorola DCT 6200 is also known to work. There are no current plans for additional hardware support.

The '''HDHomeRun''' network tuner is well known to work using the Mac version of Myth backend. Recording via firewire from set top boxes such as the Motorola 6412 or Motorola DCT 6200 is also known to work. There are no current plans for additional hardware support.

−

−

==== Dolby AC3 Sound ====

−

AC3 passthrough of digital audio will occasionally malfunction, due to the bug discussed in {{Ticket|5552}}. This is fixed starting in the upcoming release 0.25. You may not want to enable this option in your frontend setup.

−

−

In 10.6, there is a known CoreAudio issue preventing to switch from Digital back to PCM when using other than the default audio output

−

In 10.7, the CoreAudio issue is much worse, after playing one file with digital audio out, you may have to go into the System Preferences, switch to another audio output, switch back to the original one before audio works again..

−

−

Those issues affects all programs, not just mythtv

==== Firewire Recording ====

==== Firewire Recording ====

Line 220:

Line 215:

This method had successfully been used to record HD over FireWire on a Intel Mac Mini (Macmini3,1) on a Motorola DCT 6200 cable box.

This method had successfully been used to record HD over FireWire on a Intel Mac Mini (Macmini3,1) on a Motorola DCT 6200 cable box.

−

−

= Setting up MythWeb =

−

−

'''MythWeb''' is a convenient collection of website code that lets you set up recordings, browse the schedule, and review existing recordings without having to start the complete frontend. Since Macs have a built-in webserver, it's pretty simple to get [[MythWeb]] going as well. For complete setup instructions, please see [[MythWeb_on_Mac_OS_X_Backend]].

= Troubleshooting and Monitoring =

= Troubleshooting and Monitoring =

Line 255:

Line 246:

See the [[Keybindings]] page for what these key equivalents will do in any given situation. Keybindings can be altered in the settings menu using [[MythWeb]]. For example you may wish to try changing the "Pause" setting for ''TV Playback'' from ''P'' to ''P,Enter'' to support the play/pause button on the Apple Remote.

See the [[Keybindings]] page for what these key equivalents will do in any given situation. Keybindings can be altered in the settings menu using [[MythWeb]]. For example you may wish to try changing the "Pause" setting for ''TV Playback'' from ''P'' to ''P,Enter'' to support the play/pause button on the Apple Remote.

−

−

''The Apple Remote will not work properly on versions of Snow Leopard prior to 10.6.2'' ({{Ticket|7112}}).

===== Other Infrared Remotes =====

===== Other Infrared Remotes =====

Line 266:

Line 255:

===== Android Control =====

===== Android Control =====

The android app Mythmote can be used to control your mythtv frontend. Enable the Network control under Setup -> General -> Network Control.

The android app Mythmote can be used to control your mythtv frontend. Enable the Network control under Setup -> General -> Network Control.

−

−

===== Bluetooth Control =====

−

If you want to try controlling MythTV via Bluetooth, Brad came up with a 'Salling Clicker' action

To activate 7.1 audio (using either HDMI or DisplayPort); make sure to first launch the Audio MIDI Setup in /Application/Utilities and configure HDMI audio as 8 channels-24 bits (the default is just stereo). It is recommended to disable DTS and AC3 passthrough as it would reset the hdmi audio in two channels mode, which would break future multi-channels playback.

+

To activate 7.1 audio (using either HDMI or DisplayPort); make sure to first launch the Audio MIDI Setup in <code>/Application/Utilities</code> and configure HDMI audio as 8 channels-24 bits (the default is just stereo). It is recommended to disable DTS and AC3 passthrough as it would reset the hdmi audio in two channels mode, which would break future multi-channels playback.

Note that for the time being, E-AC3, TrueHD and DTS-HD MA bitstreaming do NOT work under MacOS. That's until Apple provide the required 192kHz digital sampling rate (the hardware supports it!).

Note that for the time being, E-AC3, TrueHD and DTS-HD MA bitstreaming do NOT work under MacOS. That's until Apple provide the required 192kHz digital sampling rate (the hardware supports it!).

−

==== Experimental GPU Acceleration ====

+

==== GPU Acceleration ====

−

Versions of the frontend greater than 0.24 (strictly speaking, since the enhancements of {{Ticket|7112}}) can accelerate H.264 video using Apple's Video Decode Acceleration GPU library. This does not include accelerating the MPEG2 streams used by cable and over-the-air broadcasters in the United States.

+

The frontend can accelerate H.264 video using the [[VDA|Video Decode Acceleration]] (VDA) GPU library, if available.

==== Display Scale Hacks ====

==== Display Scale Hacks ====

Revision as of 06:05, 22 October 2012

New users: before attempting to install MythTV for the first time, please familiarize yourself with the distinction between
frontend and backend.

Hardware Requirements

Frontend

To watch TV at acceptable speeds, you'll want at least an 800 MHz G4 or better. For HDTV nearly any Intel-based Mac released from 2006 onwards will suffice, though newer machines will allow the use of better deinterlacers for 1080i content.

Backend

The backend takes very little CPU power, except when marking commercials. Any Mac capable of running OSX 10.5 Leopard or later will work fine.

Using MythFrontend

MythFrontend is a normal OSX app that has no special dependencies to run. Version 0.25 and later are officially supported on 10.5 to 10.7. Older versions are compatible with versions of OSX from 10.3.x (Panther) through 10.6.x (Snow Leopard).

Note: in order for the MythTV Frontend to do anything useful you must first have a MythTV backend installed and configured. Additionally the frontend and backend generally need to be the same major version to work together.

The first time you run MythFrontend, it will enter a setup mode where you must configure the details of its access to the backend, and its display options. Currently for v0.25 the frontend must be configured to use OpenGL. See here for instructions.

Accessing MythWeb

Installing MythTV Backend

The MythTV backend and its MySQL database run smoothly on OSX.
Setting up the backend is somewhat more complicated than when using prebuilt Linux distributions such as MythBuntu. Inexperienced users who run into trouble may wish to gain experience with MythTV on Linux as training for setting it up on OSX.

The main additional complexities of installing the backend on OSX are

Installing MySQL

Setting initial MySQL database and permissions

Set Up MySQL

The MythTV backend relies on having a MySQL database available for storing information about upcoming and past recordings, channel setup, and the like.

Download and Install

Grab and install MySQL 5.1 for Mac OS X from the Mysql site. Either the 32-bit or 64-bit version is fine, except for Australian users running OSX 10.7 who will need 64-bit libraries to run shepherd for TV guide data.

For controlling the MySQL database server, you can choose one of the following options:

Set up the database server without locking it to a user account by installing MySQLStartupItem.pkg. More information for the curious is here.

Choose a user account responsible for running the database server, then install MySQL.prefPane for that account. You will almost certainly want to use System Preferences -> Accounts to make that account automatically login.

Server Startup

After installation, the MySQL server needs to be started.

Reboot and the server will start automatically if you used the Startup Item.

If you have installed MySQL.prefPane preference pane instead

Go into System Preferences and select MySQL in the Others category

Check Automatically Start MySQL on Startup

Click on the Start MySQL button.

Initial Database Setup

Open Terminal. Type in the following and press enter:

shell> cd /usr/local/mysql/bin/

Here, the shell> characters indicate the shell prompt, not something you need to type.

Configuring Default Database Users

Enter the specialized MySQL shell

shell> ./mysql -u root

which should start and prompt you for input with the mysql> prompt.

Delete the anonymous MySQL accounts by entering the following command:

mysql> DROP USER ''@'localhost';

If you don't know your machine's hostname, look it up in the table produced by entering

mysql> SELECT Host, User FROM mysql.user;

Then, set passwords for the root account by entering the below commands and substituting your desired password for newpwd and your backend machine's hostname for host_name.

This MythTV password will be given to any frontend you use, and is therefore going to be kept relatively insecure, so don't choose a password that is important to you. The customary choice for this password is mythtv.

The above commands are equivalent to the setup script that runs automatically when you install MythTV on Linux distributions.

If you will be watching TV on other computers using this backend, you will need to create database permissions for them as well. One common invocation is

Finishing Backend Setup

Detailed explanations for other variations can be found in the User Manual.

You're done! Watch and record TV using MythFrontend.app.

Automatic Backend Startup

Method 1: Login Item

Make MythBackend a Login Item for the DVR user, using the Accounts section of System Preferences.

Method 2: Launchd

MythBackend is really a daemon, and it is nice to control it as such. The approved way to automatically start processes in OSX is to use launchd. Placing the following property list in ~/Library/LaunchAgents/MythBackend.plist of the relevant user account will cause MythBackend to be started whenever that user logs in, and restarted if killed or crashed.

Note that the path to the MythBackend application binary should be set to where you happen to keep it. If you need to stop the process, you cannot just kill it. Instead use

launchctl unload -w ~/Library/LaunchAgents/MythBackend.plist

and once you are ready to start it again type

launchctl load -w ~/Library/LaunchAgents/MythBackend.plist

in a Terminal window.

Setting up MythWeb

MythWeb is a convenient collection of website code that lets you set up recordings, browse the schedule, and review existing recordings without having to start the complete frontend. Since Macs have a built-in webserver, it's pretty simple to get MythWeb going as well. For complete setup instructions, please see the OSX-specific instructions.

Gotchas and Warnings

Limited Tuners

Most PCI video capture cards lack OSX drivers, so the Mac OS X backend does not support the majority of tuners listed as being supported by (the Linux version of) MythTV.

The HDHomeRun network tuner is well known to work using the Mac version of Myth backend. Recording via firewire from set top boxes such as the Motorola 6412 or Motorola DCT 6200 is also known to work. There are no current plans for additional hardware support.

Firewire Recording

(As of mythtv 0.21-fixes-20090316) There is one important note if trying to record via FireWire on an Intel Mac. The MythBackend cannot get a LAM lock signal when recording TV via FireWire. The solution is to check the "Open with Rosetta" checkbox on the Get Info panel of MythBackend.app. See this post for information.

Because of this, it's important to open MythBackend.app from the Finder and not from a Terminal window because it won't open with Rosetta. There must be some PPC-specific FireWire code in there.

This method had successfully been used to record HD over FireWire on a Intel Mac Mini (Macmini3,1) on a Motorola DCT 6200 cable box.

Troubleshooting and Monitoring

Process View and CPU Usage

To see if you have processes running, you can use the ps command in a terminal, or even better, you can use the Activity Monitor supplied by Apple (usually found in /Applications/Utilities/). Sort by process name. You should see MySQL as mysqld and MythBackend as MythBackend.

Log Files

It is convenient to separate the backend log from the general system log. If you launch the backend with the -l logfilename directive then it will log to logfilename instead. You can view the logs with tail in a command-line window, or more conveniently using Console.app, also in /Applications/Utilities/.

MythFillDatabase sends messages both to the standard output and the standard error. You may like to similarly redirect that output.

Tips and Tricks

Remote Control

Apple Remote

The Apple Remote can be used to control the most common MythTV functions:

Directional keys: arrow keys

Play/Pause: Enter

Menu: Escape

Holding down buttons will generate alternate inputs:

Hold Play/Pause: P (play/pause playback)

Hold Menu: M (Menu in playback)

Hold Left/Right: Home/End

See the Keybindings page for what these key equivalents will do in any given situation. Keybindings can be altered in the settings menu using MythWeb. For example you may wish to try changing the "Pause" setting for TV Playback from P to P,Enter to support the play/pause button on the Apple Remote.

Surround Sound in 7.1 Channels

To activate 7.1 audio (using either HDMI or DisplayPort); make sure to first launch the Audio MIDI Setup in /Application/Utilities and configure HDMI audio as 8 channels-24 bits (the default is just stereo). It is recommended to disable DTS and AC3 passthrough as it would reset the hdmi audio in two channels mode, which would break future multi-channels playback.
Note that for the time being, E-AC3, TrueHD and DTS-HD MA bitstreaming do NOT work under MacOS. That's until Apple provide the required 192kHz digital sampling rate (the hardware supports it!).

GPU Acceleration

Display Scale Hacks

Menus, titlebars and other text may be cut off on high-resolution televisions driven by your Mac, or be too small to see from a distance, which interferes with the ability to use your it as a standard computer. You can change the display scale to make applications appear better. To do this, modify the global scale factor

shell> defaults write NSGlobalDomain AppleDisplayScaleFactor 1.25

(To reset the scale just run the above commands both with a scale of 1.0.)

The scale factor (1.25) increases the OSX system fonts by 25%. Myth won't like this (and doesn't need it) so you need to force the scale factor for Myth back to the default 1.0. For MythTV and any other app you wish to render on the with normal fonts, you can modify the app-specific scale factor like this

Playback Settings

In the setup screens, explore the "TV Settings" -> "Playback" options. You'll find two pages of Mac-specific settings there. If your machine isn't fast enough, you can choose to drop frames here. If you have cycles to spare, you'll find fun settings like video in the Dock, on the Desktop, or in a floating (and optionally translucent) window.

MythGrowl Notifications

There is an application for Mac OS X called MythGrowl that generates Growl notifications when your MythTV backend starts or finishes a recording. Not part of Mythfrontend but worth a mention. It can be downloaded at http://mythgrowl.sourceforge.net/

Performance Tweaks for Underpowered Systems

Performance with interlaced 1080i video is significantly affected by the choice of deinterlacer. Builds preceding v0.24 do not properly support the "2x" deinterlacers for 1080i60 (but they do for 480i), so if you are using one of those, try the "normal" version. Underpowered systems may do best with the Kernel deinterlacer, or Linear Blend if that's still taxing your CPU. Newer systems should be able to run Yadif or Greedy HIghMotion, which provide significantly better deinterlacing than the previous options.

Running TV playback in a smaller window can also improve performance, as can customising your backend recording settings. (E.g. Smaller capture from analog cards, 44.1KHz audio is a better match to some Macs than 48KHz.)

Shutdown

Under General, enter the following to properly shutdown under OSX. You might also have to "sudo chmod +s /sbin/halt /sbin/reboot" to be able to execute the command as a non-super user.
To Shutdown: /sbin/halt
To Reboot: /sbin/reboot

Disable Bluetooth Keyboard setup

When a keyboard and/or mouse isn't plugged in the Bluetooth setup wizard will be displayed. To shut this off under OSX, go to settings->bluetooth->advanced, uncheck the keyboard wizard.

VNC Server

Install an alternative VNC server if your VNC clients have trouble connecting to the built in one. I use VineVNC server.

For more information

Mailing Lists

If you have problems with this guide, the mythtv-users mailing list is the best place to start. Check the searchable archive to see if your problem has already been discussed. Also, you can check the mythtv-dev list to see if it's a problem with SVN; if you can't compile MythTV, you may just have to wait a few days and try again.