From MythTV Official Wiki
Revision as of 12:05, 1 November 2007 by S g robertson (talk | contribs) (Added information on -v switch)

Jump to: navigation, search

The backend process (mythbackend) is the portion of the system that handles the Video capture cards as well as Scheduling Recordings on those cards, Commercial Flagging, and transcoding. The backend process interacts with the Database primarily.

As with the MythFrontend, there can be multiple backends. One backend process 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, including zero. As of 0.16, Commercial Flagging can be distributed across different backends, thereby spreading the load of that process.

There is no requirement for direct user interaction with the backend. The backend can use local HardWare/File Storage or have it mounted from another system. If remotely mounted, network performance should be considered as there will be considerable traffic on the network as recordings are stored and retreived by the backend process.

Communications Protocol

The backend and frontend communicate using their own Myth Protocol. The developer of Win Myth, a windows frontend to MythTV for playing recordings on Windows, has documented his workings on the procotol here. Work on defining the Myth Protocol is also be performed on this Wiki.


To control what debug information is logged to the log file the following switches may be used. These can be viewed by entering 'mythbackend -v help'

Verbose debug levels. Accepts any combination (separated by comma) of:

 all           - ALL available debug output
 important     - Errors or other very important messages
 general       - General info
 record        - Recording related messages
 playback      - Playback related messages
 channel       - Channel related messages
 osd           - On-Screen Display related messages
 file          - File and AutoExpire related messages
 schedule      - Scheduling related messages
 network       - Network protocol related messages
 commflag      - Commercial Flagging related messages
 audio         - Audio related messages
 libav         - Enables libav debugging
 jobqueue      - JobQueue related messages
 siparser      - Siparser related messages
 eit           - EIT related messages
 vbi           - VBI related messages
 database      - Display all SQL commands executed
 dsmcc         - DSMCC carousel related messages
 mheg          - MHEG debugging messages
 upnp          - upnp debugging messages
 socket        - socket debugging messages
 media         - Media Manager debugging messages
 timestamp     - Conditional data driven messages
 none          - NO debug output

The default for this program appears to be: '-v important,general'

Most options are additive except for none, all, and important. These three are semi-explicit and take precedence over any prior options given. You can however use something like '-v none,jobqueue' to get only JobQueue related messages and override the default verbosity level.

The additive options may also be subtracted from 'all' by prefixing them with 'no', so you may use '-v all,nodatabase' to view all but database debug messages.

Some debug levels may not apply to this program.

Need to add backend-specific troubleshooting help here, or at least link to Troubleshooting