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

+

The backend process (mythbackend) is the portion of the system that handles the [[Video capture card]]s as well as [[Scheduling Recordings]] on those cards, [[Commercial Detection]], 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.

+

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. A machine that does not have any tuners attached can store and serve content by running [[mythmediaserver]] instead of mythbackend. [[Commercial Detection]] can be distributed across multiple backends, and other machines running [[mythjobqueue]], 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.

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.

+

+

== Command Line Options ==

+

Valid options are summarised below:

+

<pre>

+

-h or --help or --usage Display this help printout, or give detailed information of selected option.

--syslog Set the syslog logging facility. Set to "none" to disable, defaults to none.

+

-v OR --verbose Specify log filtering. Use '-v help' for level info.

+

</pre>

== Communications Protocol ==

== Communications Protocol ==

−

The backend and frontend communicate using their own [[Myth Protocol]]. The developer of [http://winmyth.sourceforge.net/ [[Win Myth]]], a windows frontend to MythTV for playing recordings on Windows, has documented his workings on the procotol [http://winmyth.sourceforge.net/mythprotocol.html here]. Work on defining the [[Myth Protocol]] is also be performed on this Wiki.

+

The [[mythbackend]] and [[mythfrontend]] communicate using their own [[:Category:Myth Protocol|Myth Protocol]]. Work on defining the [[:Category:Myth Protocol|Myth Protocol]] is being performed on this Wiki.

== Troubleshooting ==

== Troubleshooting ==

+

Mythbackend uses the [[Logging|logging routines]] shared by the rest of MythTV, and the command line options defined there can be used to control where and what debugging information is logged.

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

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

+

== Interpreting --printsched Output ==

+

The --printsched command line option prints out upcoming scheduled recordings.

+

+

This format is also used in mythbackend logs of scheduling activity (with <tt>-v schedule</tt>), and is particularly useful when obtaining schedule data with <tt>--testsched</tt>.

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. A machine that does not have any tuners attached can store and serve content by running mythmediaserver instead of mythbackend. Commercial Detection can be distributed across multiple backends, and other machines running mythjobqueue, 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.