Setup General
This page is up-to-date to MythTV version 0.21, the current release is 35.0
Introduction
This manual takes you through a detailed walk through into the various backend configuration options. Before doing this, a few ground concepts and terms should be explained so that the backend setup tasks sound logical to you:
With the backend of MythTV we mean the portion of the system that enables you to use capture devices as well as Scheduling Recordings on those cards, Commercial Detection, and transcoding. In short the backend process interacts with the Database and the hardware primarily.
The frontend and backend may be physically on the same hardware. This is the normal case with somebody starting out with a new system. In this case, backend and frontend setup are done on the same machine.
As with the Mythfrontend, there can be multiple backends. One backend computer is designated as the master backend. This is usually the first backend installed on a system. This backend is responsible for coordinating the activities of the other backends known as slaves. This is especially true for scheduling as the master backend will determine the best distribution of programs across all available tuners. Each backend can have any number of tuners. Commercial Detection can be distributed across different backends, thereby spreading the load of that process.
The backend setup program is run on the backend computer. It uses a user interface that is designed for a TV screen, like the frontend. If the backend does not have a physical display attached, the backend setup can still be run remotely from another computer, using ssh Forwarding.
Running mythtv-setup
While running the backend setup, the backend must be shut down. If you installed the Ubuntu or Mythbuntu package, a shell script will take care of that for you.
Configure the Myth backend like so
/usr/bin/mythtv-setup
or select "MythTV Backend Setup" from the Display Manager menu.
The first time you run this on a new database, you will be prompted to select your Country and Language. If setup exits after this, run it again. You may be prompted to upgrade your database. Confirm the upgrade.
You will now see the GUI for MythTV to setup the backend server and in particular the channel tuning for our broadcast streams.
These screens are designed for use with a TV and keyboard. The mouse will not work consistently. With the keyboard use up and down arrow to move between fields. Use the left and right arrow to select options from a list.
These are the top level menu items available for configuration:
- General — General Backend settings
- Capture Cards — Add and configure your capture devices here
- Recording Profiles
- Video Sources — create guide data. This may require you to subscribe to an online service that provides programming information specific to your location and TV service.
- Input connections — tell your Capture Card(s) to which Video Source they should connect. (If you are setting up an IR blaster, you will need to add a script here that controls it.)
- Channel Editor — scan and configure your channels here
- Storage Directories — Configure which folders your recordings will be saved to.
- System Events
Following we will discuss the general backend settings the other configuration items will be discussed in the next chapter.
General
The General settings is where you will set up the core settings of your backend. In case you are running a basic backend/frontend combined setup, you will most probably want to leave the default settings for most of this section, but in case your setup involves several separate backends and frontends, this is where you will determine the role of the backend you're currently configuring. There are two types of backends:
- Master backend: you need at least one master backend on any MythTV setup
- Slave backend: Any additional backends will be Slave backends.
Host Address Backend Setup
Setting | Default Value | Settings Page's Description | Additional Comments |
---|---|---|---|
Local Backend (MachineName) | |||
IPv4 address | 127.0.0.1 | Select the IP address of this (backend) machine. Use an externally accessible address if you are going to be running a frontend or Slave Backend on a different machine than this one. (ie, not 127.0.0.1). the default. | MythTV is made up of two major components, the Backend and the Frontend. If you run the Backend and Frontend on the same machine then you can leave the setting at its default value of 127.0.0.1. This is referred to as the local loopback address which is reserved for networking within a single machine. If you run multiple frontends, or run frontends over network connections on different machines, then you will need to set this to the backend machines' static IP address. This value will be determined by your TCP/IP Network addressing scheme. |
IPv6 address | ::1 | Enter the IPv6 address of this machine. Use an externally accessible address (ie, not ::1) if you are going to be running a frontend on a different machine than this one. | For more information on IPv6 see Enable IPv6. Note: if using IPv6 for MythTV you may have to configure mysql to accept IPv6 connections. |
Listen on Link-Local addresses | Checked | Enable servers on this machine to listen on link-local addresses. These are auto-configured addresses and not accessible outside the local network. This must be enabled for anything requiring Bonjour to work. | You should normally leave this enabled. |
Port the server runs on | 6543 | Unless you’ve got a good reason to, don’t change this. | As noted here you don't need to change this. |
Port the server shows status on | 6544 | Port which the server will listen to for HTTP requests. Currently, it shows a little status information. | You can connect to your MythTV box via a web browser at the machine's IP and this port. It shows some information on the status of the box but you should configure MythWeb for more advanced purposes. |
Security Pin (Required) | blank | PIN code required for a frontend to connect to the backend. Blank prevents all connections; 0000 allows any client to connect. | When using a remote frontend MythTV will auto discover your backend. For security you must enter this PIN into the frontend to gain access. This feature removes the need for manually configuring the $HOME/.mythtv/config.xml. Use four zero's (0) to allow any client to connect and request database credentials. Leave the setting blank to forbid any client from receiving database credentials. If you set this other than 0000 you will have to setup config.xml on your remote frontend machines. |
Master Backend | |||
IP address | 127.0.0.1 | The IP address of the master backend server. All frontend and non-master backend machines will connect to this server. If you only have one backend, this should be the same IP address as above. YOu can use an IPv4 or an IPv6 address here. | This must match the value of IPv4 or IPv6 address that was set on the backend configuration of the Master backend. |
Port | 6543 | Unless you’ve got a good reason to, don’t change this. | This must match the port the sserver runs on that was set on the backend configuration of the Master backend. |
Locale Settings
Setting | Default Value | Settings Page's Description | Additional Comments |
---|---|---|---|
TV format | NTSC | The standard to use for viewing TV. | Other choices include: ATSC, PAL, SECAM, PAL-NC, PAL-M, PAL-N, NTSC-JP. Be sure to set to the proper format for your region. |
VBI format | NTSC Closed Caption | VBI stands for vertical blanking interval, the time between tracing the last line on the display and returning to the first, when the CRT's electron beam is turned off (blanked). The VBI is used to carry Teletext and Closed Captioning data. | In TV broadcasting not all of the available lines in each frame of the picture are used. For example in CCIR systems (PAL and SECAM)25 lines per field (50 per frame) are specified for other uses. The remaining lines can be used for data broadcasting, and are typically used for closed caption or teletext. You may sometimes notice a squiggly black and white line or cube right at the top of the screen in a transmission; this is data being transmitted. In some countries, specific data broadcasting companies have exclusive rights on the use of the VBI lines. Options are None, PAL Teletext, NTSC closed caption |
Channel frequency table | us-bcast | Select the appropriate frequency table for your system. If you have an antenna, use a “-bcast” frequency. | Other choices include: us-bcast, us-cable, us-cable-hrc, us-cable-irc, japan-bcast, japan-cable, europe-west, europe-east, italy, newzealand, australia, ireland, france, china-bcast, southafrica, argentina, australia-optus, singapore, malaysia, israel-hot-matav, try-all. |
Miscellaneous Settings
Setting | Default Value | Settings Page's Description | Additional Comments |
---|---|---|---|
File Management Settings | |||
Master Backend Override | Checked | If enabled, the master backend will stream and delete files if it finds them in the video directory. Useful if you are using a central storage location, like a NFS share, and your slave backend isn’t running. | For a single backend setup, leave this checked. This means that all files will stream from the master backend. It also means all files must be available on the master backend. If you have slave backends either uncheck this or if you check it make sure that all storage directories are mounted on the master backend. |
Follow Symbolic links when deleting files | Not checked | This will cause Myth to follow symlinks when recordings and related files are deleted, instead of deleting the symlink and leaving the actual file. | In a normal recording setup mythtv does not use symbolic links so this will have no effect. Normally you should leave this unchecked unless you have your own file manipulation going on outside of MythTV. |
Delete Files Slowly | Not checked | Some filesystems use a lot of resource when deleting large recording files. This option makes Myth delete the file slowly on this backend to lessen the impact. | Select this if using ext3 file system for recordings. It is not needed with ext4. |
HD Ringerbuffer size (kb) | 4700 | The HD device ring buffer allows the backend to weather moments of stress. the larger the ring buffer, the longer the moments of stress can be. However, setting this too large can cause swapping, which is detrimental. | The default setting should be used in normal conditions. Modern machines have gigabytes of memory so this can safely be increased if you are experiencing pauses during playback. |
Storage Group disk scheduler | Balanced free space | This setting controls how the Storage Group scheduling code will balance new recordings across directories. 'Balanced Free Space' is the recommended method for most users. | Balanced free space is the recommended method for most users. For more information see Storage Groups#Storage Group Disk Scheduler. |
UPnP Server Settings | |||
Video Content to show a WMP Client | Recordings | Which tree to show a Windows Media Player client when it requests a list of videos. | MythTV supports watching of recordings or Videos with Windows Media Player and other applications. This determines whether they can see recordings or Videos. |
Other Settings | |||
Miscellaneous Status Application | blank | External application or script that outputs extra information for inclusion in the backend status page. See http://www.mythtv.org/wiki/Miscellaneous_Status_Information | See Miscellaneous Status Information |
Disable Automatic Database Backup | Unchecked | If enabled, MythTV will not backup the database before upgrades. You should therefore have your own database backup strategy in place. | It is recommended to leave this unchecked. |
Disable Firewire Reset | Unchecked | By default MythTV will reset the firewire bus when a firewire recorder stops responding to commands. But if this causes problems you can disable this here for Linux firewire recorders. | Unfortunately Firewire recording is somewhat unreliable, whether this option is selected or not. |
EIT Scanner Options
EIT Scanner Options | |||
Setting | Default Value | Settings Page's Description | Additional Comments |
---|---|---|---|
EIT transport timeout (mins) | 5 | Maximum time to spend waiting (in minutes) for listings data on one digital TV channel before checking for new listings data on the next channel. | |
Backend idle before EIT crawl (secs) | 60 | The minimum number of seconds after a recorder becomes idle to wait before MythTV begins collecting EIT listings data. |
Shutdown/Wakeup Options
Shutdown/Wakeup Options | |||
Setting | Default Value | Settings Page's Description | Additional Comments |
---|---|---|---|
Startup command | (empty) | This command is executed right after starting the backend. As a parameter '$status' is replaced by either 'auto' if the machine was started or 'user' if a user switched it on. | You may want to have post-startup tasks execute autonomously once the backend server has fully initialized. Use this parameter to specify a script that will get executed along with the backed server startup routines. |
Block shutdown before client connected | Checked | If set, the automatic shutdown routine will be disabled until a client connects. | If you have shutdown wakeup enabled, the backend will normally check to see if its busy before it shuts down. Of course if you have just turned your machine on manually then you don't want it to shut down before you have had a chance to start the frontend. Once the frontend has been started then the shutdown command will take effect as soon as the frontend closes down. This means that you only need to exit the frontend and the machine will go down. With MythTV 0.18 this created a problem with Mythweb, in that as soon as Mythweb connected to a backend which had no frontend process attached, it would think that a frontend connected then disconnected and consequently shut down. This has been fixed in 0.19. |
Idle timeout (secs) | 0 | The amount of time the master backend idles before it shuts down all backends. Set to 0 to disable auto shutdown. | MythTV can have multiple backends for the hardcore recording guy. Quite nice if you want to record lots of stuff at one time or if you are just a collector of all things broadcast. One of these backend machines will be designated as the Master Backend. This parameter controls how long the master backend idles, ie is not recording, transcoding or serving frontends before it decides to shut down all backends. |
Max. wait for recording (min) | 15 | The amount of time the master backend waits for a recording. If it's idle but a recording starts within this time period, the backends won't shut down. | You don't want the machine to think its idle only to find that by the time it has shut down it has to start again to record the next schedule. This parameter tells the system to wait a period of time just in case a recording is due. |
Startup before rec. (secs) | 120 | The amount of time the master backend will be woken up before a recording starts. | You often want to start a scheduled recording before it's actually scheduled according to the guide data. This is just in case it starts early or because you need to allow your machine time to boot in a wake up to record scenario. This parameter sets how much time you want to start the backend before the scheduled recording. |
Wakeup time format | hh:mm yyyy-MM-dd | The format of the time string passed to the 'setWakeuptime Command' as $time. See QT::QDateTime.toString() for details. | Set this parameter to be the same as that expected by the BIOS clock. |
Command to set Wakeup Time | Blank | The command used to set the time (passed as $time) to wake up the master backend. | This command needs to call an external script. Here is an example command '
sudo /usr/bin/mythsettime $time where mythsettime is an external script that sets the wakeup command parameters in the bios. Here is the mythsettime script contents sudo echo $1 > /home/mythtv/myth.time sudo echo $1 > /proc/acpi/alarm |
Server halt command | sudo /sbin/halt -p | The command used to halt the backends. | This command needs to call an external script. Here is an example command '
sudo /usr/sbin/mythshutdown where mythshutdown is an external script that shuts the machine down. Here is the mythshutdown script contents sudo /sbin/halt -p |
Pre Shutdown check-command | Blank | A command executed before the backends would shutdown. The return value determines if the backends can shutdown. 0 - yes, 1 - restart idling, 2 - reset the backends to wait for a frontend. On a single combined frontend/backend "/usr/bin/mythshutdown --check" will do. | Your machines may be doing other things such as Samba file sharing or streaming music that are not MythTV related. In this case you will want to have script here that checks stuff before it shuts down.
If you want to run a check on both master and slave backend, you can use the following script for /usr/local/bin/mythtv-preshutdown.sh on the master backend. In this case it does not shutdown if someone is logged in on the machines. logfile=/var/log/mythtv/mythpreshutdown.log exstate=0 ps_who=`who | grep -v mythtv | grep -c ':'` if [ $ps_who != 0 ]; then echo "User logged in" >> $logfile exstate=1 fi #run the next check on master backend only. Slave backend hostname is hardcoded... ping -c 3 slavebackend > /dev/null errorlvl=$? if [ $errorlvl == 0 ]; then echo "slave backend is up" >> $logfile ssh slavebackend /usr/local/bin/mythtv-preshutdown.sh if [ $? === 1 ]; then echo "slave backend not ready for shutdown yet" >> $logfile exstate=1 fi fi /usr/bin/mythshutdown --check if [ $? == 1 ]; then echo "mythshutdown builtin checks prevent shutdown" >> $logfile exstate=1 fi exit $exstate after setting up ssh authentication without passwords from master backend to slave backend. |
WakeOnLan settings
MasterBackend
Reconnect wait time (secs):
Count of reconnect tries:
Wake Command
Wake command for slaves:
Job Queue (Host-Specific)
Maximum simultaneous jobs on this backend:
Run Jobs only on original recording host
Job Queue Check frequency (in seconds)
Job Queue Start Time:
Job Queue End Time:
CPU Usage
Allow Commercial Detection jobs
Allow Transcoding jobs
Allow User Job #1 jobs
Allow User Job #2 jobs
Allow User Job #3 jobs
Allow User Job #4 jobs
Job Queue (Global)
Job Queue (Global) | |||
Setting | Default Value | Settings Page's Description | Additional Comments |
---|---|---|---|
Run Jobs only on original recording backend | If set, jobs in queue will be required to run on the backend that made the original recording. | ||
Start Auto-commercial Detection jobs when the recording starts | If set and Auto Commercial Detection is ON for a recording, the detection job will be started as soon as the recording starts. NOT recommended on underpowered systems. | ||
Commercial Detector command | mythcommflag | The program used to detect commercials in a recoding. The Defaults is 'mythcommflag' if this setting is empty. | List of arguments. Equivalent default command: mythcommflag -j %JOBID% -V %VERBOSELEVEL% |
Transcoder command | mythtranscode | The program used to transcode recordings. The Defaults is 'mythtranscode' if this setting is empty. | List of arguments. Equivalent default command: mythtranscode -j %JOBID% -V %VERBOSELEVEL% -p %TRANSPROFILE% [-l] |
Run Transcode Jobs before Auto-Commercial Detection | Not Checked | If set, if both auto-transcode and auto commercial detection are turned ON for a recording, transcoding will run first, otherwise, commercial detection runs first. | |
Save original files after transcoding (globally) | Not Checked | When set and the transcoder is active, the original files will be renamed to .old once transcoding is complete. |
Job Queue (Job Commands)
User Job #1 Description:
User Job #1 Command:
User Job #2 Description:
User Job #2 Command:
User Job #3 Description:
User Job #3 Command:
User Job #4 Description:
User Job #4 Command:
Starting mythbackend
Once configuration is done you can test to see if the mythbackend process is running correctly by starting it in a Terminal window:
$ /usr/bin/mythbackend
Watch out for any error messages.
You may also find it useful to read about Mythwelcome and ACPI Wakeup